diff --git a/fastapi/fastapi_dispatcher.py b/fastapi/fastapi_dispatcher.py index 904deeff7..69ed724d6 100644 --- a/fastapi/fastapi_dispatcher.py +++ b/fastapi/fastapi_dispatcher.py @@ -43,7 +43,14 @@ def _make_response(self, status_mapping, headers_tuple, content): def _get_environ(self): environ = self.request.httprequest.environ - environ["wsgi.input"] = self.request.httprequest._get_stream_for_parsing() + wrapped_request = getattr( + self.request.httprequest, "_HTTPRequest__wrapped", None + ) + environ["wsgi.input"] = ( + wrapped_request._get_stream_for_parsing() + if wrapped_request + else self.request.httprequest._get_stream_for_parsing() + ) return environ @contextmanager