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