Instate a timeout for proxied requests

This commit is contained in:
Michael Snoyman 2012-12-25 16:00:59 +02:00
parent a3ca024d1e
commit fe88be19dd
2 changed files with 7 additions and 4 deletions

View File

@ -75,7 +75,7 @@ import Data.Conduit.Network (HostPreference (HostIPv4
import Network (withSocketsDo)
import Network.HTTP.Conduit (def, newManager)
import Network.HTTP.ReverseProxy (ProxyDest (ProxyDest),
waiProxyTo)
waiProxyToSettings, wpsTimeout, wpsOnExc)
import Network.HTTP.Types (status200)
import Network.Socket (sClose)
import Network.Wai (responseLBS)
@ -120,9 +120,12 @@ reverseProxy :: DevelOpts -> Int -> IO ()
reverseProxy opts appPort = do
manager <- newManager def
let loop = forever $ do
run (develPort opts) $ waiProxyTo
run (develPort opts) $ waiProxyToSettings
(const $ return $ Right $ ProxyDest "127.0.0.1" appPort)
onExc
def
{ wpsOnExc = onExc
, wpsTimeout = Just 2000000
}
manager
putStrLn "Reverse proxy stopped, but it shouldn't"
threadDelay 1000000

View File

@ -105,7 +105,7 @@ executable yesod
, resourcet >= 0.3 && < 0.5
, base64-bytestring
, lifted-base
, http-reverse-proxy >= 0.1.0.4
, http-reverse-proxy >= 0.1.1
, network
, http-conduit
, network-conduit