Hello,
I have an issue with a strange, double-encoded PATH_INFO. I use Debian's
Apache 2.4.10, mod_wsgi 4.5.24 (pip installed), and Python 2.6.4 (all from
my srittau/wsgi-base Docker container) and the following test script:
def application(env, sr):
print(env)
sr("200 OK", [])
return []
I get the following (partial) CGI environment when accessing
/test.wsgi/foo/bär:
{
'REQUEST_URI': '/test.wsgi/foo/b%C3%A4r',
'PATH_INFO': '/foo/b\xc3\x83\xc2\xa4r',
'PATH_TRANSLATED': '/app/www-data/foo/b\xc3\x83\xc2\xa4r',
'SERVER_SIGNATURE': '<address>Apache/2.4.10 (Debian) Server at
localhost Port 8888</address>\\n',
'SERVER_SOFTWARE': 'Apache/2.4.10 (Debian)',
'mod_wsgi.path_info': '/foo/b\xc3\x83\xc2\xa4r',
'apache.version': (2, 4, 10),
'mod_wsgi.version': (4, 5, 24),
...
}
Here is the apache.conf I am using:
ServerName localhost
AddHandler wsgi-script .wsgi
<VirtualHost *:80>
ServerName test.local
DocumentRoot /app/www-data
<Directory /app/www-data>
Options ExecCGI
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
WSGIDaemonProcess test.local python-home=/app/virtualenv python-path=
/app/pylibs
WSGIProcessGroup test.local
</VirtualHost>
According to PEP 3333, I'd expect PATH_INFO to equal '/foo/b\xc3\xa4r'.
This is also what gunicorn does and werkzeug expects to correctly decode
the path.
Can anyone shed light on this issue?
- Sebastian
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.