http-reverse-proxy: Reverse proxy HTTP requests, either over raw sockets or with WAI

[ bsd3, web ] [ Propose Tags ]

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]
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, 0.4.3.1, 0.4.3.2, 0.4.3.3, 0.4.4, 0.4.5, 0.5.0, 0.5.0.1, 0.6.0
Change log ChangeLog.md
Dependencies base (>=4.6 && <5), blaze-builder (>=0.3), bytestring (>=0.9), case-insensitive (>=0.4), conduit (>=1.3), conduit-extra, containers, http-client (>=0.3), http-types (>=0.6), network, resourcet, streaming-commons, text (>=0.11), transformers, unliftio (>=0.2), wai (>=3.0), wai-logger, word8 (>=0.0) [details]
License BSD-3-Clause
Author Michael Snoyman
Maintainer michael@fpcomplete.com
Category Web
Home page https://github.com/fpco/http-reverse-proxy
Source repo head: git clone git://github.com/fpco/http-reverse-proxy.git
Uploaded by MichaelSnoyman at Thu Apr 26 08:18:04 UTC 2018
Distributions Debian:0.4.3, FreeBSD:0.4.2, LTSHaskell:0.5.0.1, NixOS:0.6.0, Stackage:0.6.0, openSUSE:0.5.0.1
Downloads 36058 total (191 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-04-29 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for http-reverse-proxy-0.6.0

[back to package description]

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