openapi-core
openapi-core copied to clipboard
[Bug]: Chunked request in requestes
Actual Behavior
Raise exception when tried validate chunked request
Expected Behavior
Buffer request and use for validation
Steps to Reproduce
validate chunked request
OpenAPI Core Version
0.17.1
OpenAPI Core Integration
requests
Affected Area(s)
No response
References
No response
Anything else we need to know?
FIX:
class RequestsOpenAPIRequestFix(RequestsOpenAPIRequest):
def __init__(self, *args):
super().__init__(*args)
self._body_buffer = ''
@property
def mimetype(self) -> str:
return super().mimetype.split(';')[0]
@property
def body(self) -> Optional[str]:
if isinstance(self.request.body, types.GeneratorType):
for part in self.request.body:
self._body_buffer += part.decode('utf-8')
return self._body_buffer
if self.mimetype.startswith('image'):
return None
return super().body
Would you like to implement a fix?
None
This will require backward incompatible change in request objet api. We will need to use raw binary request body/response data (+ binary iterator) instead of text/string.