From 41e4a6cb6253a15c63ca4119296fa5bf84f15b88 Mon Sep 17 00:00:00 2001 From: p1c2u Date: Mon, 18 Sep 2023 16:08:36 +0000 Subject: [PATCH] Werkzeug response binary format support --- openapi_core/contrib/werkzeug/responses.py | 6 ++++++ 1 file changed, 6 insertions(+) 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