packages feed

wai-test 1.3.1.1 → 2.0.0

raw patch · 2 files changed

+12/−33 lines, 2 filesdep ~wai

Dependency ranges changed: wai

Files

Network/Wai/Test.hs view
@@ -20,6 +20,7 @@     , assertHeader     , assertNoHeader     ) where+ import Network.Wai import qualified Test.HUnit.Base as H import Control.Monad.IO.Class (liftIO)@@ -41,8 +42,6 @@ import qualified Data.Text.Encoding as TE import qualified Data.Conduit as C import qualified Data.Conduit.List as CL-import Data.Monoid (mempty)-import Network.Socket.Internal (SockAddr (SockAddrInet))  type Session = ReaderT Application (StateT ClientState IO) @@ -69,26 +68,6 @@ request :: Request -> Session SResponse request = srequest . flip SRequest L.empty -defaultRequest :: Request-defaultRequest = Request-    { requestMethod = "GET"-    , httpVersion = H.http11-    , rawPathInfo = "/"-    , rawQueryString = ""-    , serverName = "localhost"-    , serverPort = 80-    , requestHeaders = []-    , isSecure = False-    , remoteHost = SockAddrInet 0 0-    , pathInfo = []-    , queryString = []-    , requestBody = mempty-    , vault = mempty-#if MIN_VERSION_wai(1, 4, 0)-    , requestBodyLength = KnownLength 0-#endif-    }- -- | Set whole path (request path + query string). setPath :: Request -> S8.ByteString -> Request setPath req path = req {@@ -112,19 +91,19 @@ srequest :: SRequest -> Session SResponse srequest (SRequest req bod) = do     app <- ask-    liftIO $ C.runResourceT $ do-        let req' = req { requestBody = CL.sourceList $ L.toChunks bod }-        res <- app req'-        sres <- runResponse res-        -- FIXME cookie processing-        return sres+    let req' = req+            { requestBody = CL.sourceList $ L.toChunks bod+            }+    liftIO $ app req' >>= runResponse+    -- FIXME cookie processing+    --return sres -runResponse :: Response -> C.ResourceT IO SResponse+runResponse :: Response -> IO SResponse runResponse res = do-    bss <- body C.$= CL.map toBuilder C.$= builderToByteString C.$$ CL.consume+    bss <- withBody $ \body -> body C.$= CL.map toBuilder C.$= builderToByteString C.$$ CL.consume     return $ SResponse s h $ L.fromChunks bss   where-    (s, h, body) = responseSource res+    (s, h, withBody) = responseToSource res     toBuilder (C.Chunk builder) = builder     toBuilder C.Flush = flush 
wai-test.cabal view
@@ -1,5 +1,5 @@ name:            wai-test-version:         1.3.1.1+version:         2.0.0 license:         MIT license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>@@ -14,7 +14,7 @@  library     build-depends:   base                      >= 4        && < 5-                   , wai                       >= 1.3      && < 1.5+                   , wai                       >= 2.0      && < 2.1                    , bytestring                >= 0.9.1.4                    , text                      >= 0.7      && < 0.12                    , blaze-builder             >= 0.2.1.4  && < 0.4