From line 566 to line 578, it splits the path, unquotes and rebuilds
it. What confuses me is that the restored path, generated at line 578,
could be half-quoted, because every component of the path is unquoted
but the concatenator "%2F" is unquoted.
The following example contains non-english string. Suppose path "path
%2F%E5%8F%82%E6%95%B0" is received, the restored path would be "/path
%2F参数". It's neither fully quoted, as the path received, nor fully
unquoted, or it would be "/path/参数". Sorry if this can't display
correctly on your computer. I hope I've explained it clearly.
Usually this half-quoted path is not what apps would expect. Most
other python web framework(pylons, django, werkzeug...) would unquote
the path fully. That's because wsgi would be compatible with cgi and
in cgi, PATH_INFO is always decoded before passed to its client app.