Open
Conversation
The object edata is a string and when this is sent using 'r = requests.post(url=self._url, data=edata)' no content-type is sent by requests to the receiving web service. If a dict object was set instead requests would detect this and automatically apply a content-type. This change checks if edata can be decoded as json and if it can adds appropriate header with content-type. If not it still adds a content-type to make the request more robust for the receiving server. Prior to this change requests was seeing the status_code as a 500, even though it wasn't, because the reply from the web service had no content-type in the header since it didn't know what content-type it had received.
Update http_transport.py
Member
|
Do you mind taking a look at why tests are failing? |
Author
Hi Jose It looks like you've got a problem in the master branch? I see your last Travis CI tests also failed with the exact same messages as my tests (which were unrelated to my proposed changes) - https://travis-ci.org/python-beaver/python-beaver/builds/515298209 |
Member
|
Yeah, just asking in case you have time :) |
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The object edata is a string and when this is sent using 'r = requests.post(url=self._url, data=edata)' no content-type is sent by requests to the receiving web service. If a dict object was set instead requests would detect this and automatically apply a content-type.
This change checks if edata can be decoded as json and if it can adds appropriate header with content-type. If not it still adds a content-type to make the request more robust for the receiving server.
Prior to this change requests was seeing the status_code as a 500, even though it wasn't, because the reply from the web service had no content-type in the header since it didn't know what content-type it had received.