diff --git a/yesod/Devel.hs b/yesod/Devel.hs index 73d55cc8..91e08366 100644 --- a/yesod/Devel.hs +++ b/yesod/Devel.hs @@ -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 diff --git a/yesod/yesod.cabal b/yesod/yesod.cabal index 32afc784..7e8526f4 100644 --- a/yesod/yesod.cabal +++ b/yesod/yesod.cabal @@ -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