diff --git a/openapi_core/contrib/falcon/responses.py b/openapi_core/contrib/falcon/responses.py index 284c64ba..108763be 100644 --- a/openapi_core/contrib/falcon/responses.py +++ b/openapi_core/contrib/falcon/responses.py @@ -1,4 +1,6 @@ """OpenAPI core contrib falcon responses module""" +from itertools import tee + from falcon.response import Response from werkzeug.datastructures import Headers @@ -12,7 +14,12 @@ def __init__(self, response: Response): @property def data(self) -> str: if self.response.text is None: - return "" + if self.response.stream is None: + return "" + resp_iter1, resp_iter2 = tee(self.response.stream) + self.response.stream = resp_iter1 + content = b"".join(resp_iter2) + return content assert isinstance(self.response.text, str) return self.response.text