HTTP-4000.0.9: A library for client-side HTTP

MaintainerSigbjorn Finne <>



Author : Eric Kow Stability : experimental Portability : non-portable (not tested)

Handling proxy server settings and their resolution.



data Proxy Source

HTTP proxies (or not) are represented via Proxy, specifying if a proxy should be used for the request (see Network.Browser.setProxy)



Don't use a proxy.

Proxy String (Maybe Authority)

Use the proxy given. Should be of the form http://host:port, host, host:port, or http://host. Additionally, an optional Authority for authentication with the proxy.

fetchProxy :: Bool -> IO ProxySource

fetchProxy flg gets the local proxy settings and parse the string into a Proxy value. If you want to be informed of ill-formed proxy configuration strings, supply True for flg. Proxy settings are sourced from the HTTP_PROXY environment variable, and in the case of Windows platforms, by consulting IE/WinInet's proxy setting in the Registry.

parseProxy :: String -> Maybe ProxySource

parseProxy str translates a proxy server string into a Proxy value; returns Nothing if not well-formed.