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 +11/−0
- servant-http-streams.cabal +2/−8
- src/Servant/HttpStreams/Internal.hs +7/−4
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''))