Send raw files as is#153
Merged
kxepal merged 1 commit intoaio-libs:masterfrom Sep 29, 2014
kxepal:upload-filelike-objects
Merged
Send raw files as is#153kxepal merged 1 commit intoaio-libs:masterfrom kxepal:upload-filelike-objects
kxepal merged 1 commit intoaio-libs:masterfrom
kxepal:upload-filelike-objects
Conversation
This fixes the behavior when on attempt to POST file object or BytesIO aiohttp instead of sending their content as is wraps them with multipart request what isn't welcome for most cases. This commit changes that behavior: if you call aiohttp.request with data parameter as file or BytesIO, it will send them as raw binary chunked stream. In case of files, when Content-Type header isn't set aiohttp will try to guess the mimetype using the mimetypes module. Otherwise default 'application/octet-stream' will be used. There are also checks for StringIO and files opened in text mode: both aren't allowed since they may cause to send data using not the encoding you expected to.
kxepal
added a commit
to aio-libs/aiocouchdb
that referenced
this pull request
Sep 17, 2014
Member
Author
|
Everyone happy if I merge this? |
Member
|
Should your change belong to FormData class? On Monday, September 29, 2014, Alexander Shorin [email protected]
|
Member
Author
|
Why? It shares nothing with FormData and is about sending raw binary data. |
Member
|
Ok. Makes sense. Lgtm On Monday, September 29, 2014, Alexander Shorin [email protected]
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes the behavior when on attempt to POST file object or BytesIO
aiohttp instead of sending their content as is wraps them with multipart
request what isn't welcome for most cases.
This commit changes that behavior: if you call aiohttp.request with
data parameter as file or BytesIO, it will send them as raw binary
chunked stream. In case of files, when Content-Type header isn't set
aiohttp will try to guess the mimetype using the mimetypes module.
Otherwise default 'application/octet-stream' will be used.
There are also checks for StringIO and files opened in text mode: both
aren't allowed since they may cause to send data using not the encoding
you expected to.