@@ -5,6 +5,7 @@ module Network.Wai.Handler.Launch
7 , runUrlPort
7 , runUrlPort
10import Network.Wai
11import Network.Wai
@@ -13,6 +14,7 @@ import Network.HTTP.Types
13import qualified Network.Wai.Handler.Warp as Warp
14import qualified Network.Wai.Handler.Warp as Warp
14import Data.IORef
15import Data.IORef
15import Data.Monoid (mappend)
16import Data.Monoid (mappend)
17+import Data.String (fromString)
16import Control.Concurrent (forkIO, threadDelay)
18import Control.Concurrent (forkIO, threadDelay)
17import Control.Monad.IO.Class (liftIO)
19import Control.Monad.IO.Class (liftIO)
18import Control.Monad (unless)
20import Control.Monad (unless)
@@ -186,12 +188,15 @@ runUrl :: String -> Application -> IO ()
186runUrl = runUrlPort 4587
188runUrl = runUrlPort 4587
188runUrlPort :: Int -> String -> Application -> IO ()
190runUrlPort :: Int -> String -> Application -> IO ()
191+runUrlPort = runHostPortUrl "*4"
193+runHostPortUrl :: String -> Int -> String -> Application -> IO ()
189−runUrlPort port url app = do
194+runHostPortUrl host port url app = do
190 x <- newIORef True
195 x <- newIORef True
191 _ <- forkIO $ Warp.runSettings
196 _ <- forkIO $ Warp.runSettings
192 ( Warp.setPort port
197 ( Warp.setPort port
193 $ Warp.setOnException (\_ _ -> return ())
198 $ Warp.setOnException (\_ _ -> return ())
194− $ Warp.setHost "*4" Warp.defaultSettings)
199+ $ Warp.setHost (fromString host) Warp.defaultSettings)
195 $ ping x app
200 $ ping x app
196 launch port url
201 launch port url