packages feed

servant-client 0.18.1 → 0.18.2

raw patch · 4 files changed

+67/−52 lines, 4 filesdep ~hspecdep ~servant-client-corePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hspec, servant-client-core

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,6 +1,13 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-client/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.2+------++### Significant changes++- Support `Fragment` combinator.+ 0.18.1 ------ 
servant-client.cabal view
@@ -1,6 +1,6 @@ cabal-version:       >=1.10 name:                servant-client-version:             0.18.1+version:             0.18.2  synopsis:            Automatic derivation of querying functions for servant category:            Servant, Web@@ -58,7 +58,7 @@   -- Strict dependency on `servant-client-core` as we re-export things.   build-depends:       servant               == 0.18.*-    , servant-client-core   >= 0.18 && <0.18.2+    , servant-client-core   >= 0.18.2 && <0.18.3    -- Other dependencies: Lower bound around what is in the latest Stackage LTS.   -- Here can be exceptions if we really need features from the newer versions.
test/Servant/ClientTestUtils.hs view
@@ -1,18 +1,18 @@-{-# LANGUAGE CPP                    #-}-{-# LANGUAGE ConstraintKinds        #-}-{-# LANGUAGE DataKinds              #-}-{-# LANGUAGE DeriveGeneric          #-}-{-# LANGUAGE FlexibleContexts       #-}-{-# LANGUAGE FlexibleInstances      #-}-{-# LANGUAGE GADTs                  #-}-{-# LANGUAGE MultiParamTypeClasses  #-}-{-# LANGUAGE OverloadedStrings      #-}-{-# LANGUAGE PolyKinds              #-}-{-# LANGUAGE ScopedTypeVariables    #-}-{-# LANGUAGE TypeApplications       #-}-{-# LANGUAGE TypeFamilies           #-}-{-# LANGUAGE TypeOperators          #-}-{-# LANGUAGE UndecidableInstances   #-}+{-# LANGUAGE CPP                   #-}+{-# LANGUAGE ConstraintKinds       #-}+{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE DeriveGeneric         #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE GADTs                 #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings     #-}+{-# LANGUAGE PolyKinds             #-}+{-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE UndecidableInstances  #-} {-# OPTIONS_GHC -freduction-depth=100 #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-}@@ -27,20 +27,22 @@ import           Control.Monad.Error.Class                  (throwError) import           Data.Aeson-import qualified Data.ByteString.Lazy as LazyByteString+import qualified Data.ByteString.Lazy             as LazyByteString import           Data.Char                  (chr, isPrint) import           Data.Monoid () import           Data.Proxy-import           Data.Text (Text)-import qualified Data.Text as Text-import           Data.Text.Encoding (encodeUtf8, decodeUtf8)+import           Data.Text+                 (Text)+import qualified Data.Text                        as Text+import           Data.Text.Encoding+                 (decodeUtf8, encodeUtf8) import           GHC.Generics                  (Generic)-import qualified Network.HTTP.Client                  as C-import qualified Network.HTTP.Types                   as HTTP+import qualified Network.HTTP.Client              as C+import qualified Network.HTTP.Types               as HTTP import           Network.Socket-import qualified Network.Wai                          as Wai+import qualified Network.Wai                      as Wai import           Network.Wai.Handler.Warp import           System.IO.Unsafe                  (unsafePerformIO)@@ -50,15 +52,14 @@  import           Servant.API                  ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth,-                 BasicAuthData (..), Capture, CaptureAll,-                 DeleteNoContent, EmptyAPI, FormUrlEncoded, Get, Header,-                 Headers, JSON, MimeRender(mimeRender),-                 MimeUnrender(mimeUnrender), NoContent (NoContent), PlainText,-                 Post, QueryFlag, QueryParam, QueryParams, Raw, ReqBody,-                 StdMethod(GET), Union, UVerb, WithStatus(WithStatus),-                 addHeader)+                 BasicAuthData (..), Capture, CaptureAll, DeleteNoContent,+                 EmptyAPI, FormUrlEncoded, Fragment, Get, Header, Headers,+                 JSON, MimeRender (mimeRender), MimeUnrender (mimeUnrender),+                 NoContent (NoContent), PlainText, Post, QueryFlag, QueryParam,+                 QueryParams, Raw, ReqBody, StdMethod (GET), UVerb, Union,+                 WithStatus (WithStatus), addHeader) import           Servant.Client-import qualified Servant.Client.Core.Auth    as Auth+import qualified Servant.Client.Core.Auth         as Auth import           Servant.Server import           Servant.Server.Experimental.Auth import           Servant.Test.ComprehensiveAPI@@ -109,6 +110,7 @@   :<|> "param" :> QueryParam "name" String :> Get '[FormUrlEncoded,JSON] Person   :<|> "params" :> QueryParams "names" String :> Get '[JSON] [Person]   :<|> "flag" :> QueryFlag "flag" :> Get '[JSON] Bool+  :<|> "fragment" :> Fragment String :> Get '[JSON] Person   :<|> "rawSuccess" :> Raw   :<|> "rawSuccessPassHeaders" :> Raw   :<|> "rawFailure" :> Raw@@ -141,6 +143,7 @@ getQueryParam   :: Maybe String -> ClientM Person getQueryParams  :: [String] -> ClientM [Person] getQueryFlag    :: Bool -> ClientM Bool+getFragment     :: ClientM Person getRawSuccess   :: HTTP.Method -> ClientM Response getRawSuccessPassHeaders :: HTTP.Method -> ClientM Response getRawFailure   :: HTTP.Method -> ClientM Response@@ -163,6 +166,7 @@   :<|> getQueryParam   :<|> getQueryParams   :<|> getQueryFlag+  :<|> getFragment   :<|> getRawSuccess   :<|> getRawSuccessPassHeaders   :<|> getRawFailure@@ -188,6 +192,7 @@                    Nothing -> throwError $ ServerError 400 "missing parameter" "" [])   :<|> (\ names -> return (zipWith Person names [0..]))   :<|> return+  :<|> return alice   :<|> (Tagged $ \ _request respond -> respond $ Wai.responseLBS HTTP.ok200 [] "rawSuccess")   :<|> (Tagged $ \ request respond -> (respond $ Wai.responseLBS HTTP.ok200 (Wai.requestHeaders $ request) "rawSuccess"))   :<|> (Tagged $ \ _request respond -> respond $ Wai.responseLBS HTTP.badRequest400 [] "rawFailure")
test/Servant/SuccessSpec.hs view
@@ -1,17 +1,17 @@-{-# LANGUAGE CPP                    #-}-{-# LANGUAGE ConstraintKinds        #-}-{-# LANGUAGE DataKinds              #-}-{-# LANGUAGE FlexibleContexts       #-}-{-# LANGUAGE FlexibleInstances      #-}-{-# LANGUAGE GADTs                  #-}-{-# LANGUAGE MultiParamTypeClasses  #-}-{-# LANGUAGE OverloadedStrings      #-}-{-# LANGUAGE PolyKinds              #-}-{-# LANGUAGE ScopedTypeVariables    #-}-{-# LANGUAGE TypeApplications       #-}-{-# LANGUAGE TypeFamilies           #-}-{-# LANGUAGE TypeOperators          #-}-{-# LANGUAGE UndecidableInstances   #-}+{-# LANGUAGE CPP                   #-}+{-# LANGUAGE ConstraintKinds       #-}+{-# LANGUAGE DataKinds             #-}+{-# LANGUAGE FlexibleContexts      #-}+{-# LANGUAGE FlexibleInstances     #-}+{-# LANGUAGE GADTs                 #-}+{-# LANGUAGE MultiParamTypeClasses #-}+{-# LANGUAGE OverloadedStrings     #-}+{-# LANGUAGE PolyKinds             #-}+{-# LANGUAGE ScopedTypeVariables   #-}+{-# LANGUAGE TypeApplications      #-}+{-# LANGUAGE TypeFamilies          #-}+{-# LANGUAGE TypeOperators         #-}+{-# LANGUAGE UndecidableInstances  #-} {-# OPTIONS_GHC -freduction-depth=100 #-} {-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-name-shadowing #-}@@ -34,20 +34,21 @@ import           Data.Monoid () import           Data.Text                  (Text)-import qualified Network.HTTP.Client                  as C-import qualified Network.HTTP.Types                   as HTTP+import qualified Network.HTTP.Client                as C+import qualified Network.HTTP.Types                 as HTTP import           Test.Hspec import           Test.Hspec.QuickCheck import           Test.HUnit import           Test.QuickCheck  import           Servant.API-                 (NoContent (NoContent), WithStatus(WithStatus), getHeaders)+                 (NoContent (NoContent), WithStatus (WithStatus), getHeaders) import           Servant.Client-import qualified Servant.Client.Core.Request as Req-import           Servant.Client.Internal.HttpClient (defaultMakeClientRequest)-import           Servant.Test.ComprehensiveAPI+import qualified Servant.Client.Core.Request        as Req+import           Servant.Client.Internal.HttpClient+                 (defaultMakeClientRequest) import           Servant.ClientTestUtils+import           Servant.Test.ComprehensiveAPI  -- This declaration simply checks that all instances are in place. _ = client comprehensiveAPIWithoutStreaming@@ -103,6 +104,8 @@       forM_ [False, True] $ \ flag -> it (show flag) $ \(_, baseUrl) -> do         left show <$> runClient (getQueryFlag flag) baseUrl `shouldReturn` Right flag +    it "Servant.API.Fragment" $ \(_, baseUrl) -> do+      left id <$> runClient getFragment baseUrl `shouldReturn` Right alice     it "Servant.API.Raw on success" $ \(_, baseUrl) -> do       res <- runClient (getRawSuccess HTTP.methodGet) baseUrl       case res of