From de09a9c9d2c4fde9f706c6a80e514752ec514a50 Mon Sep 17 00:00:00 2001 From: p1c2u Date: Sun, 17 Sep 2023 09:26:39 +0000 Subject: [PATCH] Falcon response binary format support --- openapi_core/contrib/falcon/responses.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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