http-reverse-proxy 0.3.1 → 0.3.1.1
raw patch · 2 files changed
+4/−11 lines, 2 files
Files
- Network/HTTP/ReverseProxy.hs +3/−10
- http-reverse-proxy.cabal +1/−1
Network/HTTP/ReverseProxy.hs view
@@ -26,7 +26,6 @@ ) where import BasicPrelude-import Debug.Trace import Data.Conduit import Data.Default.Class (def) import qualified Network.Wai as WAI@@ -195,15 +194,13 @@ , wpsSetIpHeader = SIHFromSocket , wpsProcessBody = const Nothing , wpsUpgradeToRaw = \req ->- traceShow ((CI.mk <$> lookup "upgrade" (WAI.requestHeaders req)) == Just "websocket") $ (CI.mk <$> lookup "upgrade" (WAI.requestHeaders req)) == Just "websocket" } tryWebSockets :: WaiProxySettings -> ByteString -> Int -> WAI.Request -> IO WAI.Response -> IO WAI.Response #if MIN_VERSION_wai(2, 1, 0) tryWebSockets wps host port req fallback- | wpsUpgradeToRaw wps req = do- putStrLn "here0"+ | wpsUpgradeToRaw wps req = return $ flip WAI.responseRaw backup $ \fromClientBody toClient -> DCN.runTCPClient settings $ \server -> let toServer = DCN.appSink server@@ -213,12 +210,8 @@ fromClientBody headers = renderHeaders req $ fixReqHeaders wps req in void $ concurrently- (do- putStrLn "here1"- fromClient $$ toServer)- (do- putStrLn "here2"- fromServer $$ toClient)+ (fromClient $$ toServer)+ (fromServer $$ toClient) | otherwise = fallback where backup = WAI.responseLBS HT.status500 [("Content-Type", "text/plain")]
http-reverse-proxy.cabal view
@@ -1,5 +1,5 @@ name: http-reverse-proxy-version: 0.3.1+version: 0.3.1.1 synopsis: Reverse proxy HTTP requests, either over raw sockets or with WAI description: 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. homepage: https://github.com/fpco/http-reverse-proxy