From 3164f882d01af914ae6b4c9b013da1ac022504a9 Mon Sep 17 00:00:00 2001 From: p1c2u Date: Mon, 18 Sep 2023 17:24:52 +0000 Subject: [PATCH] Requests request response binary format support --- openapi_core/contrib/requests/requests.py | 5 ++++- openapi_core/contrib/requests/responses.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/openapi_core/contrib/requests/requests.py b/openapi_core/contrib/requests/requests.py index 00a462f5..c39110cc 100644 --- a/openapi_core/contrib/requests/requests.py +++ b/openapi_core/contrib/requests/requests.py @@ -68,7 +68,10 @@ def body(self) -> Optional[str]: if self.request.body is None: return None if isinstance(self.request.body, bytes): - return self.request.body.decode("utf-8") + try: + return self.request.body.decode("utf-8") + except UnicodeDecodeError: + return self.request.body assert isinstance(self.request.body, str) # TODO: figure out if request._body_position is relevant return self.request.body diff --git a/openapi_core/contrib/requests/responses.py b/openapi_core/contrib/requests/responses.py index 66343802..f31e2ee5 100644 --- a/openapi_core/contrib/requests/responses.py +++ b/openapi_core/contrib/requests/responses.py @@ -12,7 +12,10 @@ def __init__(self, response: Response): @property def data(self) -> str: assert isinstance(self.response.content, bytes) - return self.response.content.decode("utf-8") + try: + return self.response.content.decode("utf-8") + except UnicodeDecodeError: + return self.response.content @property def status_code(self) -> int: pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy