warp 3.0.8 → 3.0.9
raw patch · 4 files changed
+24/−1 lines, 4 files
Files
- ChangeLog.md +4/−0
- Network/Wai/Handler/Warp.hs +1/−0
- Network/Wai/Handler/Warp/Run.hs +18/−0
- warp.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,7 @@+## 3.0.9++* Add runEnv: like run but uses $PORT [#334](https://github.com/yesodweb/wai/pull/334)+ ## 3.0.5.2 * [Pass the Request to settingsOnException handlers when available. #326](https://github.com/yesodweb/wai/pull/326)
Network/Wai/Handler/Warp.hs view
@@ -20,6 +20,7 @@ module Network.Wai.Handler.Warp ( -- * Run a Warp server run+ , runEnv , runSettings , runSettingsSocket , runSettingsConnection
Network/Wai/Handler/Warp/Run.hs view
@@ -35,6 +35,7 @@ import qualified Network.Wai.Handler.Warp.Timeout as T import Network.Wai.Handler.Warp.Types import Network.Wai.Internal (ResponseReceived (ResponseReceived))+import System.Environment (getEnvironment) import System.IO.Error (isFullErrorType, ioeGetErrorType) #if WINDOWS@@ -70,6 +71,23 @@ -- 'defaultSettings'. run :: Port -> Application -> IO () run p = runSettings defaultSettings { settingsPort = p }++-- | Run an 'Application' on the port present in the @PORT@ environment variable+--+-- Uses the 'Port' given when the variable is unset.+--+-- Since 3.0.9+runEnv :: Port -> Application -> IO ()+runEnv p app = do+ mp <- fmap (lookup "PORT") getEnvironment++ maybe (run p app) runReadPort mp++ where+ runReadPort :: String -> IO ()+ runReadPort sp = case reads sp of+ ((p', _):_) -> run p' app+ _ -> fail $ "Invalid value in $PORT: " ++ sp -- | Run an 'Application' with the given 'Settings'. runSettings :: Settings -> Application -> IO ()
warp.cabal view
@@ -1,5 +1,5 @@ Name: warp-Version: 3.0.8+Version: 3.0.9 Synopsis: A fast, light-weight web server for WAI applications. License: MIT License-file: LICENSE