git.iko.soy/typeable/servant
on master help sign in
stylish-haskell servant-client-core
commit319dcc2fe1f9785a0486fb5ed2a384884a06a1f6 authorOleg Grenrus <oleg.grenrus@iki.fi> dateSat 30 Jun 2018, 22:17 (8 years ago) parent07716b8
12 files changed+118−104
servant-client-core/Setup.hs+1−1 servant-client-core/src/Servant/Client/Core.hs+4−6 servant-client-core/src/Servant/Client/Core/Internal/Auth.hs+2−1 servant-client-core/src/Servant/Client/Core/Internal/BaseUrl.hs+4−2 servant-client-core/src/Servant/Client/Core/Internal/BasicAuth.hs+10−5 servant-client-core/src/Servant/Client/Core/Internal/ClientF.hs+1−1 servant-client-core/src/Servant/Client/Core/Internal/Generic.hs+12−10 servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs+36−44 servant-client-core/src/Servant/Client/Core/Internal/Request.hs+22−14 servant-client-core/src/Servant/Client/Core/Internal/RunClient.hs+16−13 servant-client-core/src/Servant/Client/Core/Reexport.hs+1−1 servant-client-core/src/Servant/Client/Free.hs+9−6
servant-client-core/Setup.hs+1−1
@@ -1,2 +1,2 @@
1−import Distribution.Simple
1+import Distribution.Simple
22main = defaultMain
servant-client-core/src/Servant/Client/Core.hs+4−6
@@ -55,13 +55,11 @@ module Servant.Client.Core
5555 , setRequestBody
5656 ) where
5757import Servant.Client.Core.Internal.Auth
58−import Servant.Client.Core.Internal.BaseUrl (BaseUrl (..),
59− InvalidBaseUrlException,
60− Scheme (..),
61− parseBaseUrl,
62− showBaseUrl)
58+import Servant.Client.Core.Internal.BaseUrl
59+ (BaseUrl (..), InvalidBaseUrlException, Scheme (..),
60+ parseBaseUrl, showBaseUrl)
6361import Servant.Client.Core.Internal.BasicAuth
64−import Servant.Client.Core.Internal.HasClient
6562import Servant.Client.Core.Internal.Generic
63+import Servant.Client.Core.Internal.HasClient
6664import Servant.Client.Core.Internal.Request
6765import Servant.Client.Core.Internal.RunClient
servant-client-core/src/Servant/Client/Core/Internal/Auth.hs+2−1
@@ -6,7 +6,8 @@
66
77module Servant.Client.Core.Internal.Auth where
88
9−import Servant.Client.Core.Internal.Request (Request)
9+import Servant.Client.Core.Internal.Request
10+ (Request)
1011
1112-- | For a resource protected by authentication (e.g. AuthProtect), we need
1213-- to provide the client with some data used to add authentication data
servant-client-core/src/Servant/Client/Core/Internal/BaseUrl.hs+4−2
@@ -3,11 +3,13 @@
33{-# LANGUAGE ViewPatterns #-}
44module Servant.Client.Core.Internal.BaseUrl where
55
6−import Control.Monad.Catch (Exception, MonadThrow, throwM)
6+import Control.Monad.Catch
7+ (Exception, MonadThrow, throwM)
78import Data.List
89import Data.Typeable
910import GHC.Generics
10−import Network.URI hiding (path)
11+import Network.URI hiding
12+ (path)
1113import Safe
1214import Text.Read
1315
servant-client-core/src/Servant/Client/Core/Internal/BasicAuth.hs+10−5
@@ -6,11 +6,16 @@
66
77module Servant.Client.Core.Internal.BasicAuth where
88
9−import Data.ByteString.Base64 (encode)
10−import Data.Monoid ((<>))
11−import Data.Text.Encoding (decodeUtf8)
12−import Servant.API.BasicAuth (BasicAuthData (BasicAuthData))
13−import Servant.Client.Core.Internal.Request (Request, addHeader)
9+import Data.ByteString.Base64
10+ (encode)
11+import Data.Monoid
12+ ((<>))
13+import Data.Text.Encoding
14+ (decodeUtf8)
15+import Servant.API.BasicAuth
16+ (BasicAuthData (BasicAuthData))
17+import Servant.Client.Core.Internal.Request
18+ (Request, addHeader)
1419
1520-- | Authenticate a request using Basic Authentication
1621basicAuthReq :: BasicAuthData -> Request -> Request
servant-client-core/src/Servant/Client/Core/Internal/ClientF.hs+1−1
@@ -1,7 +1,7 @@
11{-# LANGUAGE DeriveFunctor #-}
22module Servant.Client.Core.Internal.ClientF where
33
4−import Servant.Client.Core.Internal.Request
4+import Servant.Client.Core.Internal.Request
55
66data ClientF a
77 = RunRequest Request (Response -> a)
servant-client-core/src/Servant/Client/Core/Internal/Generic.hs+12−10
@@ -1,19 +1,21 @@
1−{-# LANGUAGE CPP #-}
2−{-# LANGUAGE DataKinds #-}
3−{-# LANGUAGE DefaultSignatures #-}
4−{-# LANGUAGE FlexibleContexts #-}
5−{-# LANGUAGE FlexibleInstances #-}
1+{-# LANGUAGE CPP #-}
2+{-# LANGUAGE DataKinds #-}
3+{-# LANGUAGE DefaultSignatures #-}
4+{-# LANGUAGE FlexibleContexts #-}
5+{-# LANGUAGE FlexibleInstances #-}
66{-# LANGUAGE MultiParamTypeClasses #-}
7−{-# LANGUAGE TypeFamilies #-}
8−{-# LANGUAGE TypeOperators #-}
9−{-# LANGUAGE UndecidableInstances #-}
7+{-# LANGUAGE TypeFamilies #-}
8+{-# LANGUAGE TypeOperators #-}
9+{-# LANGUAGE UndecidableInstances #-}
1010
1111#include "overlapping-compat.h"
1212
1313module Servant.Client.Core.Internal.Generic where
1414
15−import Generics.SOP (Code, Generic, I(..), NP(..), NS(Z), SOP(..), to)
16−import Servant.API ((:<|>)(..))
15+import Generics.SOP
16+ (Code, Generic, I (..), NP (..), NS (Z), SOP (..), to)
17+import Servant.API
18+ ((:<|>) (..))
1719
1820-- | This class allows us to match client structure with client functions
1921-- produced with 'client' without explicit pattern-matching.
servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs+36−44
@@ -15,54 +15,46 @@
1515#include "overlapping-compat.h"
1616module Servant.Client.Core.Internal.HasClient where
1717
18−import Prelude ()
18+import Prelude ()
1919import Prelude.Compat
2020
21−import Control.Concurrent (newMVar, modifyMVar)
22−import Data.Foldable (toList)
21+import Control.Concurrent
22+ (modifyMVar, newMVar)
23+import Control.Monad.IO.Class
24+ (MonadIO (..))
2325import qualified Data.ByteString.Lazy as BL
24−import Control.Monad.IO.Class (MonadIO (..))
25−import Data.List (foldl')
26−import Data.Proxy (Proxy (Proxy))
27−import Data.Semigroup ((<>))
28−import Data.Sequence (fromList)
29−import Data.String (fromString)
30−import Data.Text (Text, pack)
31−import GHC.TypeLits (KnownSymbol, symbolVal)
26+import Data.Foldable
27+ (toList)
28+import Data.List
29+ (foldl')
30+import Data.Proxy
31+ (Proxy (Proxy))
32+import Data.Semigroup
33+ ((<>))
34+import Data.Sequence
35+ (fromList)
36+import Data.String
37+ (fromString)
38+import Data.Text
39+ (Text, pack)
40+import GHC.TypeLits
41+ (KnownSymbol, symbolVal)
3242import qualified Network.HTTP.Types as H
33−import Servant.API ((:<|>) ((:<|>)), (:>),
34− AuthProtect, BasicAuth,
35− BasicAuthData,
36− BuildHeadersTo (..),
37− FromResultStream (..),
38− ByteStringParser (..),
39− Capture', CaptureAll,
40− Description, EmptyAPI,
41− FramingUnrender (..),
42− Header', Headers (..),
43− HttpVersion, IsSecure,
44− MimeRender (mimeRender),
45− MimeUnrender (mimeUnrender),
46− NoContent (NoContent),
47− QueryFlag, QueryParam',
48− QueryParams, Raw,
49− ReflectMethod (..),
50− RemoteHost, ReqBody',
51− ResultStream(..),
52− SBoolI,
53− Stream,
54− Summary, ToHttpApiData,
55− Vault, Verb,
56− WithNamedContext,
57− contentType,
58− getHeadersHList,
59− getResponse,
60− toQueryParam,
61− toUrlPiece)
62−import Servant.API.ContentTypes (contentTypes)
63−import Servant.API.Modifiers (FoldRequired,
64− RequiredArgument,
65− foldRequiredArgument)
43+import Servant.API
44+ ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
45+ BuildHeadersTo (..), ByteStringParser (..), Capture',
46+ CaptureAll, Description, EmptyAPI, FramingUnrender (..),
47+ FromResultStream (..), Header', Headers (..), HttpVersion,
48+ IsSecure, MimeRender (mimeRender),
49+ MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
50+ QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
51+ ReqBody', ResultStream (..), SBoolI, Stream, Summary,
52+ ToHttpApiData, Vault, Verb, WithNamedContext, contentType,
53+ getHeadersHList, getResponse, toQueryParam, toUrlPiece)
54+import Servant.API.ContentTypes
55+ (contentTypes)
56+import Servant.API.Modifiers
57+ (FoldRequired, RequiredArgument, foldRequiredArgument)
6658
6759import Servant.Client.Core.Internal.Auth
6860import Servant.Client.Core.Internal.BasicAuth
servant-client-core/src/Servant/Client/Core/Internal/Request.hs+22−14
@@ -12,26 +12,34 @@
1212
1313module Servant.Client.Core.Internal.Request where
1414
15−import Prelude ()
15+import Prelude ()
1616import Prelude.Compat
1717
18−import Control.Monad.Catch (Exception)
18+import Control.Monad.Catch
19+ (Exception)
1920import qualified Data.ByteString as BS
2021import qualified Data.ByteString.Builder as Builder
2122import qualified Data.ByteString.Lazy as LBS
22−import Data.Int (Int64)
23−import Data.Semigroup ((<>))
23+import Data.Int
24+ (Int64)
25+import Data.Semigroup
26+ ((<>))
2427import qualified Data.Sequence as Seq
25−import Data.Text (Text)
26−import Data.Text.Encoding (encodeUtf8)
27−import Data.Typeable (Typeable)
28−import GHC.Generics (Generic)
29−import Network.HTTP.Media (MediaType)
30−import Network.HTTP.Types (Header, HeaderName, HttpVersion,
31− Method, QueryItem, Status, http11,
32− methodGet)
33−import Web.HttpApiData (ToHttpApiData, toEncodedUrlPiece,
34− toHeader)
28+import Data.Text
29+ (Text)
30+import Data.Text.Encoding
31+ (encodeUtf8)
32+import Data.Typeable
33+ (Typeable)
34+import GHC.Generics
35+ (Generic)
36+import Network.HTTP.Media
37+ (MediaType)
38+import Network.HTTP.Types
39+ (Header, HeaderName, HttpVersion, Method, QueryItem, Status,
40+ http11, methodGet)
41+import Web.HttpApiData
42+ (ToHttpApiData, toEncodedUrlPiece, toHeader)
3543
3644-- | A type representing possible errors in a request
3745--
servant-client-core/src/Servant/Client/Core/Internal/RunClient.hs+16−13
@@ -6,24 +6,27 @@
66-- | Types for possible backends to run client-side `Request` queries
77module Servant.Client.Core.Internal.RunClient where
88
9−import Prelude ()
9+import Prelude ()
1010import Prelude.Compat
1111
12−import Control.Monad (unless)
13−import Control.Monad.Free (Free (..), liftF)
14−import Data.Foldable (toList)
15−import Data.Proxy (Proxy)
12+import Control.Monad
13+ (unless)
14+import Control.Monad.Free
15+ (Free (..), liftF)
16+import Data.Foldable
17+ (toList)
18+import Data.Proxy
19+ (Proxy)
1620import qualified Data.Text as T
17−import Network.HTTP.Media (MediaType, matches,
18− parseAccept, (//))
19−import Servant.API (MimeUnrender,
20− contentTypes,
21− mimeUnrender)
21+import Network.HTTP.Media
22+ (MediaType, matches, parseAccept, (//))
23+import Servant.API
24+ (MimeUnrender, contentTypes, mimeUnrender)
2225
23−import Servant.Client.Core.Internal.Request (Request, Response, GenResponse (..),
24− StreamingResponse (..),
25− ServantError (..))
2626import Servant.Client.Core.Internal.ClientF
27+import Servant.Client.Core.Internal.Request
28+ (GenResponse (..), Request, Response, ServantError (..),
29+ StreamingResponse (..))
2730
2831class Monad m => RunClient m where
2932 -- | How to make a request.
servant-client-core/src/Servant/Client/Core/Reexport.hs+1−1
@@ -28,6 +28,6 @@ module Servant.Client.Core.Reexport
2828
2929
3030import Servant.Client.Core.Internal.BaseUrl
31−import Servant.Client.Core.Internal.HasClient
3231import Servant.Client.Core.Internal.Generic
32+import Servant.Client.Core.Internal.HasClient
3333import Servant.Client.Core.Internal.Request
servant-client-core/src/Servant/Client/Free.hs+9−6
@@ -1,15 +1,18 @@
1−{-# LANGUAGE ScopedTypeVariables, FlexibleContexts, GADTs #-}
1+{-# LANGUAGE FlexibleContexts #-}
2+{-# LANGUAGE GADTs #-}
3+{-# LANGUAGE ScopedTypeVariables #-}
24module Servant.Client.Free (
35 client,
46 ClientF (..),
57 module Servant.Client.Core.Reexport,
68 ) where
79
8−import Data.Proxy (Proxy (..))
9−import Control.Monad.Free
10−import Servant.Client.Core
11−import Servant.Client.Core.Reexport
12−import Servant.Client.Core.Internal.ClientF
10+import Control.Monad.Free
11+import Data.Proxy
12+ (Proxy (..))
13+import Servant.Client.Core
14+import Servant.Client.Core.Internal.ClientF
15+import Servant.Client.Core.Reexport
1316
1417client :: HasClient (Free ClientF) api => Proxy api -> Client (Free ClientF) api
1518client api = api `clientIn` (Proxy :: Proxy (Free ClientF))