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 +10/−31
- wai-test.cabal +2/−2
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