The http-reverse-proxy package

[Tags:bsd3, library]

Provides a simple means of reverse-proxying HTTP requests. The raw approach uses the same technique as leveraged by keter, whereas the WAI approach performs full request/response parsing via WAI and http-conduit.


[Skip to Readme]

Properties

Versions 0.1.0.0, 0.1.0.1, 0.1.0.2, 0.1.0.3, 0.1.0.4, 0.1.0.5, 0.1.0.6, 0.1.0.7, 0.1.1, 0.1.1.1, 0.1.1.2, 0.1.1.3, 0.1.1.4, 0.1.1.5, 0.1.1.6, 0.2.0, 0.2.1, 0.2.1.1, 0.3.0, 0.3.0.1, 0.3.1, 0.3.1.1, 0.3.1.2, 0.3.1.3, 0.3.1.4, 0.3.1.5, 0.3.1.6, 0.3.1.7, 0.3.1.8, 0.4.0, 0.4.0.1, 0.4.1.2, 0.4.1.3, 0.4.2, 0.4.3
Change log ChangeLog.md
Dependencies async, base (>=4.6 && <5), blaze-builder (>=0.3), bytestring (>=0.9), case-insensitive (>=0.4), conduit (>=1.1), conduit-extra, containers, data-default-class, http-client (>=0.3), http-types (>=0.6), lifted-base (>=0.1), monad-control (>=0.3), network, resourcet, streaming-commons, text (>=0.11), transformers, wai (>=3.0), wai-logger, word8 (>=0.0) [details]
License BSD3
Author Michael Snoyman
Maintainer michael@fpcomplete.com
Stability Unknown
Category Web
Home page https://github.com/fpco/http-reverse-proxy
Source repository head: git clone git://github.com/fpco/http-reverse-proxy.git
Uploaded Thu Nov 19 08:48:38 UTC 2015 by MichaelSnoyman
Distributions Debian:0.4.3, FreeBSD:0.4.2, LTSHaskell:0.4.3, NixOS:0.4.3, Stackage:0.4.3
Downloads 26306 total (145 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2015-11-19 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for http-reverse-proxy

Readme for http-reverse-proxy-0.4.3

http-reverse-proxy

Provides a simple means of reverse-proxying HTTP requests. The raw approach uses the same technique as leveraged by keter, whereas the WAI approach performs full request/response parsing via WAI and http-conduit.

Raw example

The following sets up raw reverse proxying from local port 3000 to www.example.com, port 80.

{-# LANGUAGE OverloadedStrings #-}
import Network.HTTP.ReverseProxy
import Data.Conduit.Network

main :: IO ()
main = runTCPServer (serverSettings 3000 "*") $ \appData ->
    rawProxyTo
        (\_headers -> return $ Right $ ProxyDest "www.example.com" 80)
        appData