First I'll set the stage so you know where I'm coming from.
I wrote a specialized proxy server that uses HTTP::Proxy as it's core, with other features like proxy cookie support, authentication, and domain redirection built in. The program is targeted primarily toward wireless Internet users (like cell phones) that want to run their own proxy server to provide Internet access for their device, instead of paying their carrier $5 a month to use the carrier's proxy. These wireless users have some special needs, not the least of which being that most cell phone Internet browsers don't have cookie support (they just ignore them). So, my proxy server grabs Set-Cookie headers and stores them on a per-user basis, and then puts appropriate Cookie headers into requests when the user requests a page from a host for which cookies have been stored. Another specialized need for these users is that most carriers try to make it difficult for the user to run their own proxy by hard coding the home page of the browser to something impossible like "http://homepage". My proxy server identifies those "local domain" requests (anything without a TLD) and redirects the browser to a homepage of the users choice.
However it has recently come to light that one major carrier locks the phone's homepage to "proxy:homepage". This is insidious because most proxy servers (HTTP::Proxy included) see "proxy:" as specifying a protocol/scheme (like http, https, etc.). HTTP::Proxy therefore returns a 501 error when a request for "proxy:homepage" comes through.
I was able to fix this situation with a change to HTTP::Proxy. At line 328 in Proxy.pm in 0.15 contains this code: