New submission from mouad:

Hi,

As most of you know, working behind a HTTP proxy raise all this corner cases 
that no one think about until he has to, one of them i had to deal with some 
months ago is absolute request URI in HTTP request, that some client will send 
when they detect that they are behind an HTTP proxy, to be more precise i am 
talking about this section of rfc2616 
(https://gist.github.com/mouadino/7930974), i.e.

  GET http://domain.com/path HTTP/1.1

As my surprise i found that most WSGI server that are out there doesn't support 
very well this feature including wsgiref, to test that i have created this 
simple python script https://gist.github.com/mouadino/7930974 that include also 
status of this bug in different other projects.

In term of bug impact, if a WSGI server doesn't support this, the WSGI 
environment variable PATH_INFO will end up containing an absolute URI instead 
of relative as the standard require 
(http://legacy.python.org/dev/peps/pep-0333/), which mean that most uri routing 
that web framework do end up failing (Returning 404) b/c most of them will try 
to much PATH_INFO with there different routes (which are relative paths) to 
find which controller action should they executed e.g. 
https://pypi.python.org/pypi/Routes .

FWIW i found this bug while trying to debug boto library (that use absolute uri 
if proxy is detected 
https://github.com/mouadino/boto/blob/v2.13.2/boto/connection.py#L955) that was 
communicating with an OpenStack API that use eventlet wsgi server  (That 
doesn't handle absolute URI 
https://github.com/eventlet/eventlet/blob/v0.14/eventlet/wsgi.py#L471) and 
routes (that match PATH_INFO with action path 
https://github.com/bbangert/routes/blob/master/routes/mapper.py#L678).

----------
components: Library (Lib)
messages: 218258
nosy: mouad, pje
priority: normal
severity: normal
status: open
title: Fix wsgiref handling of absolute HTTP Request-URI
type: behavior
versions: Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue21472>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to