request.browser_url does not contain url fragments
Most good web clients strip uri fragments from the request, so they are of no use for web applications. The presence of a uri fragment is an indication of a problem with the client. While most applications can quietly ignore the fragment, but for some applications a fragment should result in an invalid request.
A webdav client should never issue a request “DELETE http://foo.com/resouce#bar”, the meaning of the fragment is undefined, so the server should not delete the resource, and respond with a “400 bad request.”
Currently the browser_url is constructed from the components returned by httptools.parse_request, we could simply return the fragment string with the rest of the uri components. It may be better for parse_request, to return the entire unparsed request URI (along with the components). This might be useful if an application cares if the host name in the URI differs from the host in the request header.
Reported by mikerobi