git.iko.soy/typeable/servant
on master help sign in
stylish-haskell servant-client-core
319dcc2Oleg Grenrus
servant-client-core/Setup.hs+1−1
@@ -1,2 +1,2 @@
1−import Distribution.Simple
1+import Distribution.Simple
2main = defaultMain
2main = defaultMain
servant-client-core/src/Servant/Client/Core.hs+4−6
@@ -55,13 +55,11 @@ module Servant.Client.Core
55 , setRequestBody
55 , setRequestBody
56 ) where
56 ) where
57import Servant.Client.Core.Internal.Auth
57import Servant.Client.Core.Internal.Auth
58−import Servant.Client.Core.Internal.BaseUrl (BaseUrl (..),
58+import Servant.Client.Core.Internal.BaseUrl
59− InvalidBaseUrlException,
59+ (BaseUrl (..), InvalidBaseUrlException, Scheme (..),
60− Scheme (..),
61− parseBaseUrl,
60+ parseBaseUrl, showBaseUrl)
62− showBaseUrl)
63import Servant.Client.Core.Internal.BasicAuth
61import Servant.Client.Core.Internal.BasicAuth
64−import Servant.Client.Core.Internal.HasClient
65import Servant.Client.Core.Internal.Generic
62import Servant.Client.Core.Internal.Generic
63+import Servant.Client.Core.Internal.HasClient
66import Servant.Client.Core.Internal.Request
64import Servant.Client.Core.Internal.Request
67import Servant.Client.Core.Internal.RunClient
65import Servant.Client.Core.Internal.RunClient
servant-client-core/src/Servant/Client/Core/Internal/Auth.hs+2−1
@@ -6,7 +6,8 @@
6
6
7module Servant.Client.Core.Internal.Auth where
7module Servant.Client.Core.Internal.Auth where
8
8
9−import Servant.Client.Core.Internal.Request (Request)
9+import Servant.Client.Core.Internal.Request
10+ (Request)
10
11
11-- | For a resource protected by authentication (e.g. AuthProtect), we need
12-- | For a resource protected by authentication (e.g. AuthProtect), we need
12-- to provide the client with some data used to add authentication data
13-- 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 @@
3{-# LANGUAGE ViewPatterns #-}
3{-# LANGUAGE ViewPatterns #-}
4module Servant.Client.Core.Internal.BaseUrl where
4module Servant.Client.Core.Internal.BaseUrl where
5
5
6+import Control.Monad.Catch
6−import Control.Monad.Catch (Exception, MonadThrow, throwM)
7+ (Exception, MonadThrow, throwM)
7import Data.List
8import Data.List
8import Data.Typeable
9import Data.Typeable
9import GHC.Generics
10import GHC.Generics
10−import Network.URI hiding (path)
11+import Network.URI hiding
12+ (path)
11import Safe
13import Safe
12import Text.Read
14import Text.Read
13
15
servant-client-core/src/Servant/Client/Core/Internal/BasicAuth.hs+10−5
@@ -6,11 +6,16 @@
6
6
7module Servant.Client.Core.Internal.BasicAuth where
7module Servant.Client.Core.Internal.BasicAuth where
8
8
9−import Data.ByteString.Base64 (encode)
9+import Data.ByteString.Base64
10+ (encode)
10−import Data.Monoid ((<>))
11+import Data.Monoid
12+ ((<>))
11−import Data.Text.Encoding (decodeUtf8)
13+import Data.Text.Encoding
14+ (decodeUtf8)
15+import Servant.API.BasicAuth
12−import Servant.API.BasicAuth (BasicAuthData (BasicAuthData))
16+ (BasicAuthData (BasicAuthData))
13−import Servant.Client.Core.Internal.Request (Request, addHeader)
17+import Servant.Client.Core.Internal.Request
18+ (Request, addHeader)
14
19
15-- | Authenticate a request using Basic Authentication
20-- | Authenticate a request using Basic Authentication
16basicAuthReq :: BasicAuthData -> Request -> Request
21basicAuthReq :: BasicAuthData -> Request -> Request
servant-client-core/src/Servant/Client/Core/Internal/ClientF.hs+1−1
@@ -1,7 +1,7 @@
1{-# LANGUAGE DeriveFunctor #-}
1{-# LANGUAGE DeriveFunctor #-}
2module Servant.Client.Core.Internal.ClientF where
2module Servant.Client.Core.Internal.ClientF where
3
3
4−import Servant.Client.Core.Internal.Request
4+import Servant.Client.Core.Internal.Request
5
5
6data ClientF a
6data ClientF a
7 = RunRequest Request (Response -> a)
7 = RunRequest Request (Response -> a)
servant-client-core/src/Servant/Client/Core/Internal/Generic.hs+12−10
@@ -1,19 +1,21 @@
1−{-# LANGUAGE CPP #-}
1+{-# LANGUAGE CPP #-}
2−{-# LANGUAGE DataKinds #-}
2+{-# LANGUAGE DataKinds #-}
3−{-# LANGUAGE DefaultSignatures #-}
3+{-# LANGUAGE DefaultSignatures #-}
4−{-# LANGUAGE FlexibleContexts #-}
4+{-# LANGUAGE FlexibleContexts #-}
5−{-# LANGUAGE FlexibleInstances #-}
5+{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
7−{-# LANGUAGE TypeFamilies #-}
7+{-# LANGUAGE TypeFamilies #-}
8−{-# LANGUAGE TypeOperators #-}
8+{-# LANGUAGE TypeOperators #-}
9−{-# LANGUAGE UndecidableInstances #-}
9+{-# LANGUAGE UndecidableInstances #-}
10
10
11#include "overlapping-compat.h"
11#include "overlapping-compat.h"
12
12
13module Servant.Client.Core.Internal.Generic where
13module Servant.Client.Core.Internal.Generic where
14
14
15+import Generics.SOP
15−import Generics.SOP (Code, Generic, I(..), NP(..), NS(Z), SOP(..), to)
16+ (Code, Generic, I (..), NP (..), NS (Z), SOP (..), to)
16−import Servant.API ((:<|>)(..))
17+import Servant.API
18+ ((:<|>) (..))
17
19
18-- | This class allows us to match client structure with client functions
20-- | This class allows us to match client structure with client functions
19-- produced with 'client' without explicit pattern-matching.
21-- produced with 'client' without explicit pattern-matching.
servant-client-core/src/Servant/Client/Core/Internal/HasClient.hs+36−44
@@ -15,54 +15,46 @@
15#include "overlapping-compat.h"
15#include "overlapping-compat.h"
16module Servant.Client.Core.Internal.HasClient where
16module Servant.Client.Core.Internal.HasClient where
17
17
18−import Prelude ()
18+import Prelude ()
19import Prelude.Compat
19import Prelude.Compat
20
20
21−import Control.Concurrent (newMVar, modifyMVar)
21+import Control.Concurrent
22−import Data.Foldable (toList)
22+ (modifyMVar, newMVar)
23+import Control.Monad.IO.Class
24+ (MonadIO (..))
23import qualified Data.ByteString.Lazy as BL
25import qualified Data.ByteString.Lazy as BL
24−import Control.Monad.IO.Class (MonadIO (..))
26+import Data.Foldable
27+ (toList)
25−import Data.List (foldl')
28+import Data.List
29+ (foldl')
26−import Data.Proxy (Proxy (Proxy))
30+import Data.Proxy
31+ (Proxy (Proxy))
27−import Data.Semigroup ((<>))
32+import Data.Semigroup
33+ ((<>))
28−import Data.Sequence (fromList)
34+import Data.Sequence
35+ (fromList)
29−import Data.String (fromString)
36+import Data.String
37+ (fromString)
30−import Data.Text (Text, pack)
38+import Data.Text
39+ (Text, pack)
40+import GHC.TypeLits
31−import GHC.TypeLits (KnownSymbol, symbolVal)
41+ (KnownSymbol, symbolVal)
32import qualified Network.HTTP.Types as H
42import qualified Network.HTTP.Types as H
33−import Servant.API ((:<|>) ((:<|>)), (:>),
43+import Servant.API
34− AuthProtect, BasicAuth,
44+ ((:<|>) ((:<|>)), (:>), AuthProtect, BasicAuth, BasicAuthData,
35− BasicAuthData,
36− BuildHeadersTo (..),
37− FromResultStream (..),
38− ByteStringParser (..),
45+ BuildHeadersTo (..), ByteStringParser (..), Capture',
39− Capture', CaptureAll,
40− Description, EmptyAPI,
46+ CaptureAll, Description, EmptyAPI, FramingUnrender (..),
41− FramingUnrender (..),
42− Header', Headers (..),
47+ FromResultStream (..), Header', Headers (..), HttpVersion,
43− HttpVersion, IsSecure,
44− MimeRender (mimeRender),
48+ IsSecure, MimeRender (mimeRender),
45− MimeUnrender (mimeUnrender),
49+ MimeUnrender (mimeUnrender), NoContent (NoContent), QueryFlag,
46− NoContent (NoContent),
47− QueryFlag, QueryParam',
48− QueryParams, Raw,
50+ QueryParam', QueryParams, Raw, ReflectMethod (..), RemoteHost,
49− ReflectMethod (..),
50− RemoteHost, ReqBody',
51− ResultStream(..),
51+ ReqBody', ResultStream (..), SBoolI, Stream, Summary,
52− SBoolI,
53− Stream,
54− Summary, ToHttpApiData,
55− Vault, Verb,
56− WithNamedContext,
52+ ToHttpApiData, Vault, Verb, WithNamedContext, contentType,
57− contentType,
58− getHeadersHList,
53+ getHeadersHList, getResponse, toQueryParam, toUrlPiece)
59− getResponse,
60− toQueryParam,
61− toUrlPiece)
62−import Servant.API.ContentTypes (contentTypes)
54+import Servant.API.ContentTypes
55+ (contentTypes)
63−import Servant.API.Modifiers (FoldRequired,
56+import Servant.API.Modifiers
64− RequiredArgument,
65− foldRequiredArgument)
57+ (FoldRequired, RequiredArgument, foldRequiredArgument)
66
58
67import Servant.Client.Core.Internal.Auth
59import Servant.Client.Core.Internal.Auth
68import Servant.Client.Core.Internal.BasicAuth
60import Servant.Client.Core.Internal.BasicAuth
servant-client-core/src/Servant/Client/Core/Internal/Request.hs+22−14
@@ -12,26 +12,34 @@
12
12
13module Servant.Client.Core.Internal.Request where
13module Servant.Client.Core.Internal.Request where
14
14
15−import Prelude ()
15+import Prelude ()
16import Prelude.Compat
16import Prelude.Compat
17
17
18−import Control.Monad.Catch (Exception)
18+import Control.Monad.Catch
19+ (Exception)
19import qualified Data.ByteString as BS
20import qualified Data.ByteString as BS
20import qualified Data.ByteString.Builder as Builder
21import qualified Data.ByteString.Builder as Builder
21import qualified Data.ByteString.Lazy as LBS
22import qualified Data.ByteString.Lazy as LBS
22−import Data.Int (Int64)
23+import Data.Int
24+ (Int64)
23−import Data.Semigroup ((<>))
25+import Data.Semigroup
26+ ((<>))
24import qualified Data.Sequence as Seq
27import qualified Data.Sequence as Seq
25−import Data.Text (Text)
28+import Data.Text
29+ (Text)
26−import Data.Text.Encoding (encodeUtf8)
30+import Data.Text.Encoding
31+ (encodeUtf8)
27−import Data.Typeable (Typeable)
32+import Data.Typeable
33+ (Typeable)
28−import GHC.Generics (Generic)
34+import GHC.Generics
35+ (Generic)
29−import Network.HTTP.Media (MediaType)
36+import Network.HTTP.Media
37+ (MediaType)
30−import Network.HTTP.Types (Header, HeaderName, HttpVersion,
38+import Network.HTTP.Types
31− Method, QueryItem, Status, http11,
39+ (Header, HeaderName, HttpVersion, Method, QueryItem, Status,
32− methodGet)
40+ http11, methodGet)
41+import Web.HttpApiData
33−import Web.HttpApiData (ToHttpApiData, toEncodedUrlPiece,
42+ (ToHttpApiData, toEncodedUrlPiece, toHeader)
34− toHeader)
35
43
36-- | A type representing possible errors in a request
44-- | A type representing possible errors in a request
37--
45--
servant-client-core/src/Servant/Client/Core/Internal/RunClient.hs+16−13
@@ -6,24 +6,27 @@
6-- | Types for possible backends to run client-side `Request` queries
6-- | Types for possible backends to run client-side `Request` queries
7module Servant.Client.Core.Internal.RunClient where
7module Servant.Client.Core.Internal.RunClient where
8
8
9−import Prelude ()
9+import Prelude ()
10import Prelude.Compat
10import Prelude.Compat
11
11
12−import Control.Monad (unless)
12+import Control.Monad
13+ (unless)
13−import Control.Monad.Free (Free (..), liftF)
14+import Control.Monad.Free
15+ (Free (..), liftF)
14−import Data.Foldable (toList)
16+import Data.Foldable
17+ (toList)
15−import Data.Proxy (Proxy)
18+import Data.Proxy
19+ (Proxy)
16import qualified Data.Text as T
20import qualified Data.Text as T
17−import Network.HTTP.Media (MediaType, matches,
21+import Network.HTTP.Media
18− parseAccept, (//))
22+ (MediaType, matches, parseAccept, (//))
19−import Servant.API (MimeUnrender,
23+import Servant.API
20− contentTypes,
24+ (MimeUnrender, contentTypes, mimeUnrender)
21− mimeUnrender)
22
25
23−import Servant.Client.Core.Internal.Request (Request, Response, GenResponse (..),
24− StreamingResponse (..),
25− ServantError (..))
26import Servant.Client.Core.Internal.ClientF
26import Servant.Client.Core.Internal.ClientF
27+import Servant.Client.Core.Internal.Request
28+ (GenResponse (..), Request, Response, ServantError (..),
29+ StreamingResponse (..))
27
30
28class Monad m => RunClient m where
31class Monad m => RunClient m where
29 -- | How to make a request.
32 -- | 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
28
28
29
29
30import Servant.Client.Core.Internal.BaseUrl
30import Servant.Client.Core.Internal.BaseUrl
31−import Servant.Client.Core.Internal.HasClient
32import Servant.Client.Core.Internal.Generic
31import Servant.Client.Core.Internal.Generic
32+import Servant.Client.Core.Internal.HasClient
33import Servant.Client.Core.Internal.Request
33import 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 #-}
2module Servant.Client.Free (
4module Servant.Client.Free (
3 client,
5 client,
4 ClientF (..),
6 ClientF (..),
5 module Servant.Client.Core.Reexport,
7 module Servant.Client.Core.Reexport,
6 ) where
8 ) where
7
9
8−import Data.Proxy (Proxy (..))
9−import Control.Monad.Free
10+import Control.Monad.Free
10−import Servant.Client.Core
11+import Data.Proxy
12+ (Proxy (..))
11−import Servant.Client.Core.Reexport
13+import Servant.Client.Core
12−import Servant.Client.Core.Internal.ClientF
14+import Servant.Client.Core.Internal.ClientF
15+import Servant.Client.Core.Reexport
13
16
14client :: HasClient (Free ClientF) api => Proxy api -> Client (Free ClientF) api
17client :: HasClient (Free ClientF) api => Proxy api -> Client (Free ClientF) api
15client api = api `clientIn` (Proxy :: Proxy (Free ClientF))
18client api = api `clientIn` (Proxy :: Proxy (Free ClientF))