diff --git a/openapi_core/contrib/werkzeug/responses.py b/openapi_core/contrib/werkzeug/responses.py index c3fc9501..891ad8d1 100644 --- a/openapi_core/contrib/werkzeug/responses.py +++ b/openapi_core/contrib/werkzeug/responses.py @@ -1,4 +1,6 @@ """OpenAPI core contrib werkzeug responses module""" +from itertools import tee + from werkzeug.datastructures import Headers from werkzeug.wrappers import Response @@ -11,6 +13,10 @@ def __init__(self, response: Response): @property def data(self) -> str: + if not self.response.is_sequence: + resp_iter1, resp_iter2 = tee(self.response.iter_encoded()) + self.response.response = resp_iter1 + return b"".join(resp_iter2) return self.response.get_data(as_text=True) @property