Instate a timeout for proxied requests
This commit is contained in:
parent
a3ca024d1e
commit
fe88be19dd
@ -75,7 +75,7 @@ import Data.Conduit.Network (HostPreference (HostIPv4
|
|||||||
import Network (withSocketsDo)
|
import Network (withSocketsDo)
|
||||||
import Network.HTTP.Conduit (def, newManager)
|
import Network.HTTP.Conduit (def, newManager)
|
||||||
import Network.HTTP.ReverseProxy (ProxyDest (ProxyDest),
|
import Network.HTTP.ReverseProxy (ProxyDest (ProxyDest),
|
||||||
waiProxyTo)
|
waiProxyToSettings, wpsTimeout, wpsOnExc)
|
||||||
import Network.HTTP.Types (status200)
|
import Network.HTTP.Types (status200)
|
||||||
import Network.Socket (sClose)
|
import Network.Socket (sClose)
|
||||||
import Network.Wai (responseLBS)
|
import Network.Wai (responseLBS)
|
||||||
@ -120,9 +120,12 @@ reverseProxy :: DevelOpts -> Int -> IO ()
|
|||||||
reverseProxy opts appPort = do
|
reverseProxy opts appPort = do
|
||||||
manager <- newManager def
|
manager <- newManager def
|
||||||
let loop = forever $ do
|
let loop = forever $ do
|
||||||
run (develPort opts) $ waiProxyTo
|
run (develPort opts) $ waiProxyToSettings
|
||||||
(const $ return $ Right $ ProxyDest "127.0.0.1" appPort)
|
(const $ return $ Right $ ProxyDest "127.0.0.1" appPort)
|
||||||
onExc
|
def
|
||||||
|
{ wpsOnExc = onExc
|
||||||
|
, wpsTimeout = Just 2000000
|
||||||
|
}
|
||||||
manager
|
manager
|
||||||
putStrLn "Reverse proxy stopped, but it shouldn't"
|
putStrLn "Reverse proxy stopped, but it shouldn't"
|
||||||
threadDelay 1000000
|
threadDelay 1000000
|
||||||
|
|||||||
@ -105,7 +105,7 @@ executable yesod
|
|||||||
, resourcet >= 0.3 && < 0.5
|
, resourcet >= 0.3 && < 0.5
|
||||||
, base64-bytestring
|
, base64-bytestring
|
||||||
, lifted-base
|
, lifted-base
|
||||||
, http-reverse-proxy >= 0.1.0.4
|
, http-reverse-proxy >= 0.1.1
|
||||||
, network
|
, network
|
||||||
, http-conduit
|
, http-conduit
|
||||||
, network-conduit
|
, network-conduit
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user