Fix wsgi environment building#573
Merged
asvetlov merged 3 commits intoaio-libs:masterfrom Oct 21, 2015
Merged
Conversation
Fixed issues:
SERVER_NAME and SERVER_PORT variables may be determined in two ways:
if protocol is HTTP/1.0:
Value of `Host` header. If there is no such header, then address of
transport may be taken (transport.get_extra_info('sockname'))
if protocol is HTTP/1.1:
Value of `Host` header. If there is no such header, the Bad Request
should be raised, because this header is required in HTTP/1.1.
REMOTE_ADDR and REMOTE_PORT should be address and port of host connected
to http server. (https://www.ietf.org/rfc/rfc3875)
Also, header `Authorization` should not be in environment at all.
tests/test_wsgi.py
Outdated
Contributor
Author
There was a problem hiding this comment.
Hmmm probably I should also check self.transport.get_extra_info called with proper arguments...
Member
|
@redixin please add a message next time after pushing an update for PR. |
Member
There was a problem hiding this comment.
Maybe the comment worth to be saved?
What do you think?
Contributor
Author
There was a problem hiding this comment.
Sure. Added this comment on lines 86-90
According to CGI 1.1 server port should be set to the TCP/IP port number on which this request is received from the client. Also add comment about REMOTE_HOST, REMOTE_ADDR and SERVER_PORT. Also added new and removed some redundant tests.
Contributor
Author
|
New patch added |
asvetlov
added a commit
that referenced
this pull request
Oct 21, 2015
Fix wsgi environment building
Member
|
Perfect! |
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.
Fixed issues:
SERVER_NAME and SERVER_PORT variables may be determined in two ways:
if protocol is HTTP/1.0:
Value of
Hostheader. If there is no such header, then address oftransport may be taken (transport.get_extra_info('sockname'))
if protocol is HTTP/1.1:
Value of
Hostheader. If there is no such header, the Bad Requestshould be raised, because this header is required in HTTP/1.1.
REMOTE_ADDR and REMOTE_PORT should be address and port of host connected
to http server.
Also, header
Authorizationshould not be in environment at all.