on master help sign in
conduit 1.1
commit49d8f4b43eb551865b4755a81d0ab4aaca785c48 authorMichael Snoyman <michael@snoyman.com> dateThu 27 Mar 2014, 16:30 (13 years ago) parentcbb8cf9
14 files changed+65−38
wai-eventsource/wai-eventsource.cabal+2−2 wai-extra/Network/Wai/Middleware/Gzip.hs+2−1 wai-extra/wai-extra.cabal+7−5 wai-frontend-monadcgi/wai-frontend-monadcgi.cabal+3−2 wai-handler-launch/wai-handler-launch.cabal+5−4 wai-test/wai-test.cabal+4−3 wai-websockets/wai-websockets.cabal+2−2 wai/wai.cabal+3−2 warp-tls/Network/Wai/Handler/WarpTLS.hs+10−4 warp-tls/warp-tls.cabal+6−3 warp/Network/Wai/Handler/Warp/Run.hs+3−3 warp/Network/Wai/Handler/Warp/Settings.hs+2−2 warp/test/RunSpec.hs+7−1 warp/warp.cabal+9−4
wai-eventsource/wai-eventsource.cabal+2−2
@@ -1,5 +1,5 @@
11Name: wai-eventsource
2−Version: 2.0.0.1
2+Version: 2.0.0.2
33Synopsis: WAI support for server-sent events
44Description: WAI support for server-sent events
55License: MIT
@@ -17,7 +17,7 @@ Library
1717 base >= 4.3 && < 5
1818 , bytestring >= 0.9.1.4
1919 , blaze-builder >= 0.3 && < 0.4
20− , conduit >= 0.5 && < 1.1
20+ , conduit >= 0.5 && < 1.2
2121 , http-types >= 0.7
2222 , wai >= 2.0 && < 2.2
2323 , transformers
wai-extra/Network/Wai/Middleware/Gzip.hs+2−1
@@ -31,6 +31,7 @@ import qualified Data.ByteString as S
3131import Data.Default
3232import Network.HTTP.Types (Status, Header)
3333import Control.Monad.IO.Class (liftIO)
34+import Control.Monad.Trans.Resource (runResourceT)
3435import System.Directory (doesFileExist, createDirectoryIfMissing)
3536import qualified Data.Conduit as C
3637import qualified Data.Conduit.Zlib as CZ
@@ -102,7 +103,7 @@ compressFile s hs file cache = do
102103 else do
103104 createDirectoryIfMissing True cache
104105 x <-
105− try $ C.runResourceT $ CB.sourceFile file
106+ try $ runResourceT $ CB.sourceFile file
106107 C.$$ CZ.gzip C.=$ CB.sinkFile tmpfile
107108 either onErr (const onSucc) x
108109 where
wai-extra/wai-extra.cabal+7−5
@@ -1,5 +1,5 @@
11Name: wai-extra
2−Version: 2.1.1
2+Version: 2.1.1.1
33Synopsis: Provides some basic WAI handlers and middleware.
44Description: The goal here is to provide common features without many dependencies.
55License: MIT
@@ -35,11 +35,12 @@ Library
3535 , data-default
3636 , fast-logger >= 2.1 && < 2.2
3737 , wai-logger >= 2.0 && < 2.2
38− , conduit >= 1.0 && < 1.1
39− , zlib-conduit >= 0.5 && < 1.1
40− , blaze-builder-conduit >= 0.5 && < 1.1
38+ , conduit >= 1.0 && < 1.2
39+ , conduit-extra >= 0.1 && < 1.2
40+ , zlib-conduit >= 0.5 && < 1.2
41+ , blaze-builder-conduit >= 0.5 && < 1.2
4142 , ansi-terminal
42− , resourcet >= 0.4.6 && < 0.5
43+ , resourcet >= 0.4.6 && < 1.2
4344 , void >= 0.5
4445 , stringsearch >= 0.3 && < 0.4
4546 , containers
@@ -95,6 +96,7 @@ test-suite tests
9596 , conduit
9697 , fast-logger >= 2.1
9798 , resourcet
99+ , conduit-extra
98100 ghc-options: -Wall
99101
100102source-repository head
wai-frontend-monadcgi/wai-frontend-monadcgi.cabal+3−2
@@ -1,5 +1,5 @@
11name: wai-frontend-monadcgi
2−version: 2.0.0.1
2+version: 2.0.0.2
33license: MIT
44license-file: LICENSE
55author: Michael Snoyman <michael@snoyman.com>
@@ -16,7 +16,8 @@ library
1616 , bytestring
1717 , containers >= 0.2
1818 , cgi
19− , conduit >= 0.5 && < 1.1
19+ , conduit >= 0.5 && < 1.2
20+ , conduit-extra
2021 , http-types
2122 , transformers
2223 , case-insensitive
wai-handler-launch/wai-handler-launch.cabal+5−4
@@ -1,5 +1,5 @@
11Name: wai-handler-launch
2−Version: 2.0.1.1
2+Version: 2.0.1.2
33Synopsis: Launch a web app in the default browser.
44Description: This handles cross-platform launching and inserts Javascript code to ping the server. When the server no longer receives pings, it shuts down.
55License: MIT
@@ -19,9 +19,10 @@ Library
1919 , transformers >= 0.2.2 && < 0.4
2020 , bytestring >= 0.9.1.4
2121 , blaze-builder >= 0.2.1.4 && < 0.4
22− , conduit >= 0.5 && < 1.1
23− , blaze-builder-conduit >= 0.5 && < 1.1
24− , zlib-conduit >= 0.5 && < 1.1
22+ , conduit >= 0.5 && < 1.2
23+ , conduit-extra >= 0.0 && < 1.2
24+ , blaze-builder-conduit >= 0.5 && < 1.2
25+ , zlib-conduit >= 0.5 && < 1.2
2526
2627 if os(windows)
2728 c-sources: windows.c
wai-test/wai-test.cabal+4−3
@@ -1,5 +1,5 @@
11name: wai-test
2−version: 2.0.1
2+version: 2.0.1.1
33license: MIT
44license-file: LICENSE
55author: Michael Snoyman <michael@snoyman.com>
@@ -20,8 +20,9 @@ library
2020 , blaze-builder >= 0.2.1.4 && < 0.4
2121 , transformers >= 0.2.2 && < 0.4
2222 , containers >= 0.2
23− , conduit >= 0.5 && < 1.1
24− , blaze-builder-conduit >= 0.5 && < 1.1
23+ , conduit >= 0.5 && < 1.2
24+ , conduit-extra
25+ , blaze-builder-conduit >= 0.5 && < 1.2
2526 , cookie >= 0.2 && < 0.5
2627 , http-types >= 0.7
2728 , case-insensitive >= 0.2
wai-websockets/wai-websockets.cabal+2−2
@@ -1,5 +1,5 @@
11Name: wai-websockets
2−Version: 2.1.0
2+Version: 2.1.0.1
33Synopsis: Provide a bridge betweeen WAI and the websockets package.
44License: MIT
55License-file: LICENSE
@@ -19,7 +19,7 @@ flag example
1919Library
2020 Build-Depends: base >= 3 && < 5
2121 , bytestring >= 0.9.1.4
22− , conduit >= 0.5 && < 1.1
22+ , conduit >= 0.5 && < 1.2
2323 , wai >= 2.1 && < 2.2
2424 , blaze-builder >= 0.2.1.4 && < 0.4
2525 , case-insensitive >= 0.2
wai/wai.cabal+3−2
@@ -1,5 +1,5 @@
11Name: wai
2−Version: 2.1.0
2+Version: 2.1.0.1
33Synopsis: Web Application Interface.
44Description: Provides a common protocol for communication between web applications and web servers.
55License: MIT
@@ -20,7 +20,8 @@ Library
2020 Build-Depends: base >= 4 && < 5
2121 , bytestring >= 0.9.1.4
2222 , blaze-builder >= 0.2.1.4 && < 0.4
23− , conduit >= 1.0.8 && < 1.1
23+ , conduit >= 1.0.8 && < 1.2
24+ , conduit-extra
2425 , network >= 2.2.1.5
2526 , http-types >= 0.7
2627 , text >= 0.7
warp-tls/Network/Wai/Handler/WarpTLS.hs+10−4
@@ -29,14 +29,20 @@ import Network.Wai
2929import Network.Socket
3030import qualified Data.ByteString.Lazy as L
3131import Data.Conduit.Binary (sourceFileRange)
32+import Control.Monad.Trans.Resource (runResourceT)
3233import qualified Data.Conduit as C
3334import qualified Data.Conduit.List as CL
3435import Control.Exception (bracket, finally, handle)
3536import qualified Network.TLS.Extra as TLSExtra
3637import qualified Data.ByteString as B
37−import Data.Conduit.Network (bindPort)
38+#if MIN_VERSION_conduit(1,1,0)
39+import Data.Streaming.Network (bindPortTCP, acceptSafe)
40+#else
41+import Data.Conduit.Network (bindPort, acceptSafe)
42+#define bindPortTCP bindPort
43+#endif
3844import Control.Applicative ((<$>))
39−import Data.Conduit.Network (sourceSocket, sinkSocket, acceptSafe)
45+import Data.Conduit.Network (sourceSocket, sinkSocket)
4046import Data.Maybe (fromMaybe)
4147import qualified Data.IORef as I
4248import Control.Exception (Exception, throwIO)
@@ -148,7 +154,7 @@ runTLSSocket TLSSettings {..} set sock app = do
148154 , connSendAll = TLS.sendData ctx . L.fromChunks . return
149155 , connSendFile = \fp offset len _th headers -> do
150156 TLS.sendData ctx $ L.fromChunks headers
151− C.runResourceT $ sourceFileRange fp (Just offset) (Just len) C.$$ CL.mapM_ (TLS.sendData ctx . L.fromChunks . return)
157+ runResourceT $ sourceFileRange fp (Just offset) (Just len) C.$$ CL.mapM_ (TLS.sendData ctx . L.fromChunks . return)
152158 , connClose =
153159 TLS.bye ctx `finally`
154160 TLS.contextClose ctx
@@ -190,7 +196,7 @@ instance Exception WarpTLSException
190196runTLS :: TLSSettings -> Settings -> Application -> IO ()
191197runTLS tset set app = withSocketsDo $
192198 bracket
193− (bindPort (settingsPort set) (settingsHost set))
199+ (bindPortTCP (settingsPort set) (settingsHost set))
194200 sClose
195201 (\sock -> runTLSSocket tset set sock app)
196202
warp-tls/warp-tls.cabal+6−3
@@ -1,5 +1,5 @@
11Name: warp-tls
2−Version: 2.0.3.1
2+Version: 2.0.3.2
33Synopsis: HTTP over SSL/TLS support for Warp via the TLS package
44License: MIT
55License-file: LICENSE
@@ -18,12 +18,15 @@ Library
1818 , wai >= 2.0 && < 2.2
1919 , warp >= 2.0.2 && < 2.2
2020 , transformers >= 0.2
21− , conduit >= 0.5 && < 1.1
22− , network-conduit >= 0.6 && < 1.1
21+ , conduit >= 0.5 && < 1.2
22+ , conduit-extra
23+ , network-conduit >= 0.6 && < 1.2
2324 , data-default-class >= 0.0.1
2425 , tls >= 1.2.1
2526 , network >= 2.2.1
2627 , cprng-aes >= 0.5.0
28+ , streaming-commons
29+ , resourcet
2730 Exposed-modules: Network.Wai.Handler.WarpTLS
2831 ghc-options: -Wall
2932
warp/Network/Wai/Handler/Warp/Run.hs+3−3
@@ -15,7 +15,7 @@ import qualified Data.ByteString as S
1515import Data.Conduit
1616import Data.Conduit.Internal (ResumableSource (..))
1717import qualified Data.Conduit.List as CL
18−import Data.Conduit.Network (bindPort)
18+import Data.Streaming.Network (bindPortTCP)
1919import Network (sClose, Socket)
2020import Network.Socket (accept, SockAddr)
2121import qualified Network.Socket.ByteString as Sock
@@ -74,7 +74,7 @@ runSettings set app = withSocketsDo $ do
7474 var <- MV.newMVar Nothing
7575 let clean = MV.modifyMVar_ var $ \s -> maybe (return ()) sClose s >> return Nothing
7676 void . forkIO $ bracket
77− (bindPort (settingsPort set) (settingsHost set))
77+ (bindPortTCP (settingsPort set) (settingsHost set))
7878 (const clean)
7979 (\s -> do
8080 MV.modifyMVar_ var (\_ -> return $ Just s)
@@ -83,7 +83,7 @@ runSettings set app = withSocketsDo $ do
8383#else
8484runSettings set app =
8585 bracket
86− (bindPort (settingsPort set) (settingsHost set))
86+ (bindPortTCP (settingsPort set) (settingsHost set))
8787 sClose
8888 (\socket -> do
8989 setSocketCloseOnExec socket
warp/Network/Wai/Handler/Warp/Settings.hs+2−2
@@ -9,7 +9,7 @@ import qualified Data.Text as T
99import qualified Data.Text.IO as TIO
1010import qualified Data.ByteString.Lazy.Char8 as L8
1111import Data.Conduit
12−import Data.Conduit.Network (HostPreference (HostIPv4))
12+import Data.Conduit.Network (HostPreference)
1313import GHC.IO.Exception (IOErrorType(..))
1414import qualified Network.HTTP.Types as H
1515import Network.Socket (SockAddr)
@@ -64,7 +64,7 @@ data Settings = Settings
6464defaultSettings :: Settings
6565defaultSettings = Settings
6666 { settingsPort = 3000
67− , settingsHost = HostIPv4
67+ , settingsHost = "*4"
6868 , settingsOnException = defaultExceptionHandler
6969 , settingsOnExceptionResponse = defaultExceptionResponse
7070 , settingsOnOpen = const $ return True
warp/test/RunSpec.hs+7−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE OverloadedStrings #-}
23{-# LANGUAGE ScopedTypeVariables #-}
34
@@ -23,7 +24,12 @@ import System.IO.Unsafe (unsafePerformIO)
2324import Test.Hspec
2425import Control.Concurrent.MVar (newEmptyMVar, takeMVar, putMVar)
2526import Control.Exception.Lifted (bracket, try, IOException, onException)
27+#if MIN_VERSION_conduit(1,1,0)
28+import Data.Streaming.Network (bindPortTCP)
29+#define bindPort bindPortTCP
30+#else
2631import Data.Conduit.Network (bindPort)
32+#endif
2733import Network.Socket (sClose)
2834import qualified Network.HTTP as HTTP
2935
@@ -76,7 +82,7 @@ nextPort = unsafePerformIO $ I.newIORef 5000
7682getPort :: IO Int
7783getPort = do
7884 port <- I.atomicModifyIORef nextPort $ \p -> (p + 1, p)
79− esocket <- try $ bindPort port HostIPv4
85+ esocket <- try $ bindPort port "*4"
8086 case esocket of
8187 Left (_ :: IOException) -> RunSpec.getPort
8288 Right socket -> do
warp/warp.cabal+9−4
@@ -1,5 +1,5 @@
11Name: warp
2−Version: 2.1.3
2+Version: 2.1.3.1
33Synopsis: A fast, light-weight web server for WAI applications.
44License: MIT
55License-file: LICENSE
@@ -35,20 +35,22 @@ Library
3535 Build-Depends: base >= 3 && < 5
3636 , array
3737 , blaze-builder >= 0.3.3 && < 0.4
38− , blaze-builder-conduit >= 0.5 && < 1.1
38+ , blaze-builder-conduit >= 0.5 && < 1.2
3939 , bytestring >= 0.9.1.4
4040 , case-insensitive >= 0.2
41− , conduit >= 0.5 && < 1.1
41+ , conduit >= 0.5 && < 1.2
42+ , conduit-extra
4243 , ghc-prim
4344 , http-types >= 0.7
4445 , lifted-base >= 0.1
45− , network-conduit >= 0.5 && < 1.1
46+ , network-conduit >= 0.5 && < 1.2
4647 , simple-sendfile >= 0.2.7 && < 0.3
4748 , transformers >= 0.2.2 && < 0.4
4849 , unix-compat >= 0.2
4950 , void
5051 , wai >= 2.1 && < 2.2
5152 , text
53+ , streaming-commons
5254 if flag(network-bytestring)
5355 Build-Depends: network >= 2.2.1.5 && < 2.2.3
5456 , network-bytestring >= 0.1.3 && < 0.1.4
@@ -137,6 +139,8 @@ Test-Suite spec
137139 , time
138140 , old-locale
139141 , text
142+ , conduit-extra
143+ , streaming-commons
140144
141145 if (os(linux) || os(freebsd) || os(darwin)) && flag(allow-sendfilefd)
142146 Cpp-Options: -DSENDFILEFD
@@ -155,6 +159,7 @@ Benchmark parser
155159 , criterion
156160 , http-types
157161 , network
162+ , network
158163
159164Source-Repository head
160165 Type: git