packages feed

servant-http-streams 0.18 → 0.18.1

raw patch · 3 files changed

+20/−12 lines, 3 filesdep ~servant-client-corenew-uploader

Dependency ranges changed: servant-client-core

Files

CHANGELOG.md view
@@ -1,6 +1,17 @@   [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-http-streams/CHANGELOG.md) [Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.18.1+------++### Significant changes++- Union verbs++### Other changes++- Bump "tested-with" ghc versions+ 0.18 ---- 
servant-http-streams.cabal view
@@ -1,6 +1,6 @@ cabal-version:       >=1.10 name:                servant-http-streams-version:             0.18+version:             0.18.1  synopsis:            Automatic derivation of querying functions for servant category:            Servant, Web@@ -20,13 +20,7 @@ maintainer:          haskell-servant-maintainers@googlegroups.com copyright:           2019 Servant Contributors build-type:          Simple-tested-with:-  GHC ==8.0.2-   || ==8.2.2-   || ==8.4.4-   || ==8.6.5-   || ==8.8.3-   || ==8.10.1+tested-with: GHC ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.2  extra-source-files:   CHANGELOG.md
src/Servant/HttpStreams/Internal.hs view
@@ -141,7 +141,7 @@     a <!> b = a `catchError` \_ -> b  instance RunClient ClientM where-    runRequest = performRequest+    runRequestAcceptStatus = performRequest     throwClientError = throwError  instance RunStreamingClient ClientM where@@ -155,8 +155,8 @@     let Codensity f = runExceptT $ flip runReaderT env $ unClientM cm     in f k -performRequest :: Request -> ClientM Response-performRequest req = do+performRequest :: Maybe [Status] -> Request -> ClientM Response+performRequest acceptStatus req = do     ClientEnv burl conn <- ask     let (req', body) = requestToClientRequest burl req     x <- ClientM $ lift $ lift $ Codensity $ \k -> do@@ -165,7 +165,10 @@             let sc = Client.getStatusCode res'             lbs <- BSL.fromChunks <$> Streams.toList body'             let res'' = clientResponseToResponse res' lbs-            if sc >= 200 && sc < 300+                goodStatus = case acceptStatus of+                  Nothing -> sc >= 200 && sc < 300+                  Just good -> sc `elem` (statusCode <$> good)+            if goodStatus             then k (Right res'')             else k (Left (mkFailureResponse burl req res''))