warp 2.1.3 → 2.1.3.1
raw patch · 4 files changed
+21/−10 lines, 4 filesdep +conduit-extradep +streaming-commonsdep ~blaze-builder-conduitdep ~conduitdep ~network
Dependencies added: conduit-extra, streaming-commons
Dependency ranges changed: blaze-builder-conduit, conduit, network, network-conduit
Files
- Network/Wai/Handler/Warp/Run.hs +3/−3
- Network/Wai/Handler/Warp/Settings.hs +2/−2
- test/RunSpec.hs +7/−1
- warp.cabal +9/−4
Network/Wai/Handler/Warp/Run.hs view
@@ -15,7 +15,7 @@ import Data.Conduit import Data.Conduit.Internal (ResumableSource (..)) import qualified Data.Conduit.List as CL-import Data.Conduit.Network (bindPort)+import Data.Streaming.Network (bindPortTCP) import Network (sClose, Socket) import Network.Socket (accept, SockAddr) import qualified Network.Socket.ByteString as Sock@@ -74,7 +74,7 @@ var <- MV.newMVar Nothing let clean = MV.modifyMVar_ var $ \s -> maybe (return ()) sClose s >> return Nothing void . forkIO $ bracket- (bindPort (settingsPort set) (settingsHost set))+ (bindPortTCP (settingsPort set) (settingsHost set)) (const clean) (\s -> do MV.modifyMVar_ var (\_ -> return $ Just s)@@ -83,7 +83,7 @@ #else runSettings set app = bracket- (bindPort (settingsPort set) (settingsHost set))+ (bindPortTCP (settingsPort set) (settingsHost set)) sClose (\socket -> do setSocketCloseOnExec socket
Network/Wai/Handler/Warp/Settings.hs view
@@ -9,7 +9,7 @@ import qualified Data.Text.IO as TIO import qualified Data.ByteString.Lazy.Char8 as L8 import Data.Conduit-import Data.Conduit.Network (HostPreference (HostIPv4))+import Data.Conduit.Network (HostPreference) import GHC.IO.Exception (IOErrorType(..)) import qualified Network.HTTP.Types as H import Network.Socket (SockAddr)@@ -64,7 +64,7 @@ defaultSettings :: Settings defaultSettings = Settings { settingsPort = 3000- , settingsHost = HostIPv4+ , settingsHost = "*4" , settingsOnException = defaultExceptionHandler , settingsOnExceptionResponse = defaultExceptionResponse , settingsOnOpen = const $ return True
test/RunSpec.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE ScopedTypeVariables #-} @@ -23,7 +24,12 @@ import Test.Hspec import Control.Concurrent.MVar (newEmptyMVar, takeMVar, putMVar) import Control.Exception.Lifted (bracket, try, IOException, onException)+#if MIN_VERSION_conduit(1,1,0)+import Data.Streaming.Network (bindPortTCP)+#define bindPort bindPortTCP+#else import Data.Conduit.Network (bindPort)+#endif import Network.Socket (sClose) import qualified Network.HTTP as HTTP @@ -76,7 +82,7 @@ getPort :: IO Int getPort = do port <- I.atomicModifyIORef nextPort $ \p -> (p + 1, p)- esocket <- try $ bindPort port HostIPv4+ esocket <- try $ bindPort port "*4" case esocket of Left (_ :: IOException) -> RunSpec.getPort Right socket -> do
warp.cabal view
@@ -1,5 +1,5 @@ Name: warp-Version: 2.1.3+Version: 2.1.3.1 Synopsis: A fast, light-weight web server for WAI applications. License: MIT License-file: LICENSE@@ -35,20 +35,22 @@ Build-Depends: base >= 3 && < 5 , array , blaze-builder >= 0.3.3 && < 0.4- , blaze-builder-conduit >= 0.5 && < 1.1+ , blaze-builder-conduit >= 0.5 && < 1.2 , bytestring >= 0.9.1.4 , case-insensitive >= 0.2- , conduit >= 0.5 && < 1.1+ , conduit >= 0.5 && < 1.2+ , conduit-extra , ghc-prim , http-types >= 0.7 , lifted-base >= 0.1- , network-conduit >= 0.5 && < 1.1+ , network-conduit >= 0.5 && < 1.2 , simple-sendfile >= 0.2.7 && < 0.3 , transformers >= 0.2.2 && < 0.4 , unix-compat >= 0.2 , void , wai >= 2.1 && < 2.2 , text+ , streaming-commons if flag(network-bytestring) Build-Depends: network >= 2.2.1.5 && < 2.2.3 , network-bytestring >= 0.1.3 && < 0.1.4@@ -137,6 +139,8 @@ , time , old-locale , text+ , conduit-extra+ , streaming-commons if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd) Cpp-Options: -DSENDFILEFD@@ -154,6 +158,7 @@ , bytestring , criterion , http-types+ , network , network Source-Repository head