From 8058891299d7d342521c2ff9a1d42008806188ae Mon Sep 17 00:00:00 2001 From: Oleg Grenrus Date: Sun, 11 Mar 2018 17:58:31 +0200 Subject: [PATCH] Reformat servant --- .stylish-haskell.yaml | 7 +- servant/src/Servant/API.hs | 130 +++++++++--------- servant/src/Servant/API/Alternative.hs | 8 +- servant/src/Servant/API/BasicAuth.hs | 15 +- servant/src/Servant/API/Capture.hs | 6 +- servant/src/Servant/API/ContentTypes.hs | 36 +++-- servant/src/Servant/API/Description.hs | 11 +- servant/src/Servant/API/Empty.hs | 3 +- servant/src/Servant/API/Experimental/Auth.hs | 9 +- servant/src/Servant/API/Header.hs | 6 +- servant/src/Servant/API/HttpVersion.hs | 3 +- .../API/Internal/Test/ComprehensiveAPI.hs | 3 +- servant/src/Servant/API/IsSecure.hs | 6 +- servant/src/Servant/API/Modifiers.hs | 14 +- servant/src/Servant/API/QueryParam.hs | 8 +- servant/src/Servant/API/Raw.hs | 4 +- servant/src/Servant/API/RemoteHost.hs | 1 + servant/src/Servant/API/ReqBody.hs | 7 +- servant/src/Servant/API/ResponseHeaders.hs | 22 +-- servant/src/Servant/API/Stream.hs | 46 ++++--- servant/src/Servant/API/Sub.hs | 3 +- servant/src/Servant/API/TypeLevel.hs | 27 ++-- servant/src/Servant/API/Vault.hs | 3 +- servant/src/Servant/API/Verbs.hs | 21 +-- servant/src/Servant/API/WithNamedContext.hs | 4 +- servant/src/Servant/Utils/Enter.hs | 7 +- servant/src/Servant/Utils/Links.hs | 85 ++++++++---- 27 files changed, 292 insertions(+), 203 deletions(-) diff --git a/.stylish-haskell.yaml b/.stylish-haskell.yaml index 8a61c1f9..5fb01b5f 100644 --- a/.stylish-haskell.yaml +++ b/.stylish-haskell.yaml @@ -184,6 +184,7 @@ newline: lf # needs to be aware of these, so it can parse the file correctly. # # No language extensions are enabled by default. -# language_extensions: - # - TemplateHaskell - # - QuasiQuotes +language_extensions: + - FlexibleContexts + - TemplateHaskell + - QuasiQuotes diff --git a/servant/src/Servant/API.hs b/servant/src/Servant/API.hs index 7ed610f3..d236b0da 100644 --- a/servant/src/Servant/API.hs +++ b/servant/src/Servant/API.hs @@ -66,71 +66,75 @@ module Servant.API ( -- * Utilities module Servant.Utils.Links, -- | Type-safe internal URIs - + -- * Re-exports If, SBool (..), SBoolI (..) ) where -import Servant.API.Alternative ((:<|>) (..)) -import Servant.API.BasicAuth (BasicAuth,BasicAuthData(..)) -import Servant.API.Capture (Capture, Capture', CaptureAll) -import Servant.API.ContentTypes (Accept (..), FormUrlEncoded, - JSON, - MimeRender (..), NoContent (NoContent), - MimeUnrender (..), OctetStream, - PlainText) -import Servant.API.Description (Description, Summary) -import Servant.API.Empty (EmptyAPI (..)) -import Servant.API.Experimental.Auth (AuthProtect) -import Servant.API.Header (Header, Header') -import Servant.API.HttpVersion (HttpVersion (..)) -import Servant.API.IsSecure (IsSecure (..)) -import Servant.API.Modifiers (Required, Optional, Lenient, Strict) -import Servant.API.QueryParam (QueryFlag, QueryParam, QueryParam', - QueryParams) -import Servant.API.Raw (Raw) -import Servant.API.Stream (Stream, StreamGet, StreamPost, - StreamGenerator (..), - ToStreamGenerator (..), - ResultStream(..), BuildFromStream (..), - ByteStringParser (..), - FramingRender (..), BoundaryStrategy (..), - FramingUnrender (..), - NewlineFraming, - NetstringFraming) -import Servant.API.RemoteHost (RemoteHost) -import Servant.API.ReqBody (ReqBody, ReqBody') -import Servant.API.ResponseHeaders (AddHeader, addHeader, noHeader, - BuildHeadersTo (buildHeadersTo), - GetHeaders (getHeaders), - HList (..), Headers (..), - getHeadersHList, getResponse, ResponseHeader (..)) -import Servant.API.Sub ((:>)) -import Servant.API.Vault (Vault) -import Servant.API.Verbs (PostCreated, Delete, DeleteAccepted, - DeleteNoContent, - DeleteNonAuthoritative, Get, - GetAccepted, GetNoContent, - GetNonAuthoritative, - GetPartialContent, - GetResetContent, - Patch, - PatchAccepted, PatchNoContent, - PatchNoContent, - PatchNonAuthoritative, Post, - PostAccepted, PostNoContent, - PostNonAuthoritative, - PostResetContent, Put, - PutAccepted, PutNoContent, - PutNoContent, PutNonAuthoritative, - ReflectMethod (reflectMethod), - Verb, StdMethod(..)) -import Servant.API.WithNamedContext (WithNamedContext) -import Servant.Utils.Links (HasLink (..), Link, IsElem, IsElem', - URI (..), safeLink) -import Web.HttpApiData (FromHttpApiData (..), - ToHttpApiData (..)) - -import Data.Type.Bool (If) -import Data.Singletons.Bool (SBool (..), SBoolI (..)) +import Data.Singletons.Bool + (SBool (..), SBoolI (..)) +import Data.Type.Bool + (If) +import Servant.API.Alternative + ((:<|>) (..)) +import Servant.API.BasicAuth + (BasicAuth, BasicAuthData (..)) +import Servant.API.Capture + (Capture, Capture', CaptureAll) +import Servant.API.ContentTypes + (Accept (..), FormUrlEncoded, JSON, MimeRender (..), + MimeUnrender (..), NoContent (NoContent), OctetStream, + PlainText) +import Servant.API.Description + (Description, Summary) +import Servant.API.Empty + (EmptyAPI (..)) +import Servant.API.Experimental.Auth + (AuthProtect) +import Servant.API.Header + (Header, Header') +import Servant.API.HttpVersion + (HttpVersion (..)) +import Servant.API.IsSecure + (IsSecure (..)) +import Servant.API.Modifiers + (Lenient, Optional, Required, Strict) +import Servant.API.QueryParam + (QueryFlag, QueryParam, QueryParam', QueryParams) +import Servant.API.Raw + (Raw) +import Servant.API.RemoteHost + (RemoteHost) +import Servant.API.ReqBody + (ReqBody, ReqBody') +import Servant.API.ResponseHeaders + (AddHeader, BuildHeadersTo (buildHeadersTo), + GetHeaders (getHeaders), HList (..), Headers (..), + ResponseHeader (..), addHeader, getHeadersHList, getResponse, + noHeader) +import Servant.API.Stream + (BoundaryStrategy (..), BuildFromStream (..), + ByteStringParser (..), FramingRender (..), + FramingUnrender (..), NetstringFraming, NewlineFraming, + ResultStream (..), Stream, StreamGenerator (..), StreamGet, + StreamPost, ToStreamGenerator (..)) +import Servant.API.Sub + ((:>)) +import Servant.API.Vault + (Vault) +import Servant.API.Verbs + (Delete, DeleteAccepted, DeleteNoContent, + DeleteNonAuthoritative, Get, GetAccepted, GetNoContent, + GetNonAuthoritative, GetPartialContent, GetResetContent, + Patch, PatchAccepted, PatchNoContent, PatchNonAuthoritative, + Post, PostAccepted, PostCreated, PostNoContent, + PostNonAuthoritative, PostResetContent, Put, PutAccepted, + PutNoContent, PutNonAuthoritative, + ReflectMethod (reflectMethod), StdMethod (..), Verb) +import Servant.API.WithNamedContext + (WithNamedContext) +import Servant.Utils.Links + (HasLink (..), IsElem, IsElem', Link, URI (..), safeLink) +import Web.HttpApiData + (FromHttpApiData (..), ToHttpApiData (..)) diff --git a/servant/src/Servant/API/Alternative.hs b/servant/src/Servant/API/Alternative.hs index a9acbb08..5f8e393c 100644 --- a/servant/src/Servant/API/Alternative.hs +++ b/servant/src/Servant/API/Alternative.hs @@ -1,14 +1,16 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE DeriveFoldable #-} +{-# LANGUAGE DeriveFunctor #-} {-# LANGUAGE DeriveTraversable #-} {-# LANGUAGE TypeOperators #-} {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Alternative ((:<|>)(..)) where -import Data.Semigroup (Semigroup (..)) -import Data.Typeable (Typeable) +import Data.Semigroup + (Semigroup (..)) +import Data.Typeable + (Typeable) import Prelude () import Prelude.Compat diff --git a/servant/src/Servant/API/BasicAuth.hs b/servant/src/Servant/API/BasicAuth.hs index 307c21aa..27544d4b 100644 --- a/servant/src/Servant/API/BasicAuth.hs +++ b/servant/src/Servant/API/BasicAuth.hs @@ -1,13 +1,16 @@ -{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE KindSignatures #-} -{-# LANGUAGE PolyKinds #-} +{-# LANGUAGE KindSignatures #-} +{-# LANGUAGE PolyKinds #-} module Servant.API.BasicAuth where -import Data.ByteString (ByteString) -import Data.Typeable (Typeable) -import GHC.TypeLits (Symbol) +import Data.ByteString + (ByteString) +import Data.Typeable + (Typeable) +import GHC.TypeLits + (Symbol) -- | Combinator for . diff --git a/servant/src/Servant/API/Capture.hs b/servant/src/Servant/API/Capture.hs index 57317e7a..9391fe16 100644 --- a/servant/src/Servant/API/Capture.hs +++ b/servant/src/Servant/API/Capture.hs @@ -4,8 +4,10 @@ {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Capture (Capture, Capture', CaptureAll) where -import Data.Typeable (Typeable) -import GHC.TypeLits (Symbol) +import Data.Typeable + (Typeable) +import GHC.TypeLits + (Symbol) -- | Capture a value from the request path under a certain type @a@. -- -- Example: diff --git a/servant/src/Servant/API/ContentTypes.hs b/servant/src/Servant/API/ContentTypes.hs index ea083006..797d0583 100644 --- a/servant/src/Servant/API/ContentTypes.hs +++ b/servant/src/Servant/API/ContentTypes.hs @@ -71,32 +71,38 @@ module Servant.API.ContentTypes , canHandleAcceptH ) where -import Control.Arrow (left) +import Control.Arrow + (left) import Control.Monad.Compat -import Data.Aeson (FromJSON(..), ToJSON(..), encode) -import Data.Aeson.Parser (value) -import Data.Aeson.Types (parseEither) -import Data.Attoparsec.ByteString.Char8 (endOfInput, parseOnly, - skipSpace, ()) +import Data.Aeson + (FromJSON (..), ToJSON (..), encode) +import Data.Aeson.Parser + (value) +import Data.Aeson.Types + (parseEither) +import Data.Attoparsec.ByteString.Char8 + (endOfInput, parseOnly, skipSpace, ()) import qualified Data.ByteString as BS -import Data.ByteString.Lazy (ByteString, fromStrict, - toStrict) +import Data.ByteString.Lazy + (ByteString, fromStrict, toStrict) import qualified Data.ByteString.Lazy.Char8 as BC import qualified Data.List.NonEmpty as NE -import Data.Maybe (isJust) -import Data.String.Conversions (cs) +import Data.Maybe + (isJust) +import Data.String.Conversions + (cs) import qualified Data.Text as TextS import qualified Data.Text.Encoding as TextS import qualified Data.Text.Lazy as TextL import qualified Data.Text.Lazy.Encoding as TextL import Data.Typeable -import GHC.Generics (Generic) +import GHC.Generics + (Generic) import qualified Network.HTTP.Media as M -import Web.FormUrlEncoded (FromForm, ToForm, - urlEncodeAsForm, - urlDecodeAsForm) -import Prelude () +import Prelude () import Prelude.Compat +import Web.FormUrlEncoded + (FromForm, ToForm, urlDecodeAsForm, urlEncodeAsForm) #if MIN_VERSION_base(4,9,0) import qualified GHC.TypeLits as TL diff --git a/servant/src/Servant/API/Description.hs b/servant/src/Servant/API/Description.hs index fee0bc8a..b7996650 100644 --- a/servant/src/Servant/API/Description.hs +++ b/servant/src/Servant/API/Description.hs @@ -3,8 +3,8 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE PolyKinds #-} {-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE TypeOperators #-} {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Description ( -- * Combinators @@ -16,9 +16,12 @@ module Servant.API.Description ( reflectDescription, ) where -import Data.Typeable (Typeable) -import GHC.TypeLits (Symbol, KnownSymbol, symbolVal) -import Data.Proxy (Proxy (..)) +import Data.Proxy + (Proxy (..)) +import Data.Typeable + (Typeable) +import GHC.TypeLits + (KnownSymbol, Symbol, symbolVal) -- | Add a short summary for (part of) API. -- diff --git a/servant/src/Servant/API/Empty.hs b/servant/src/Servant/API/Empty.hs index efc79356..b8e05c1f 100644 --- a/servant/src/Servant/API/Empty.hs +++ b/servant/src/Servant/API/Empty.hs @@ -2,7 +2,8 @@ {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Empty(EmptyAPI(..)) where -import Data.Typeable (Typeable) +import Data.Typeable + (Typeable) import Prelude () import Prelude.Compat diff --git a/servant/src/Servant/API/Experimental/Auth.hs b/servant/src/Servant/API/Experimental/Auth.hs index fa79bfc7..586b4958 100644 --- a/servant/src/Servant/API/Experimental/Auth.hs +++ b/servant/src/Servant/API/Experimental/Auth.hs @@ -1,10 +1,11 @@ -{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE KindSignatures #-} -{-# LANGUAGE PolyKinds #-} +{-# LANGUAGE KindSignatures #-} +{-# LANGUAGE PolyKinds #-} module Servant.API.Experimental.Auth where -import Data.Typeable (Typeable) +import Data.Typeable + (Typeable) -- | A generalized Authentication combinator. Use this if you have a -- non-standard authentication technique. diff --git a/servant/src/Servant/API/Header.hs b/servant/src/Servant/API/Header.hs index ebee3a3e..14562dfc 100644 --- a/servant/src/Servant/API/Header.hs +++ b/servant/src/Servant/API/Header.hs @@ -6,8 +6,10 @@ module Servant.API.Header ( Header, Header', ) where -import Data.Typeable (Typeable) -import GHC.TypeLits (Symbol) +import Data.Typeable + (Typeable) +import GHC.TypeLits + (Symbol) import Servant.API.Modifiers -- | Extract the given header's value as a value of type @a@. diff --git a/servant/src/Servant/API/HttpVersion.hs b/servant/src/Servant/API/HttpVersion.hs index 23b682b9..3ad21b90 100644 --- a/servant/src/Servant/API/HttpVersion.hs +++ b/servant/src/Servant/API/HttpVersion.hs @@ -3,7 +3,8 @@ module Servant.API.HttpVersion HttpVersion(..) ) where -import Network.HTTP.Types (HttpVersion (..)) +import Network.HTTP.Types + (HttpVersion (..)) -- $httpversion -- diff --git a/servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs b/servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs index d6eb763c..ed1b520c 100644 --- a/servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs +++ b/servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs @@ -1,4 +1,4 @@ -{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeOperators #-} -- | This is a module containing an API with all `Servant.API` combinators. It @@ -7,7 +7,6 @@ module Servant.API.Internal.Test.ComprehensiveAPI where import Data.Proxy - import Servant.API type GET = Get '[JSON] NoContent diff --git a/servant/src/Servant/API/IsSecure.hs b/servant/src/Servant/API/IsSecure.hs index cbf1ab79..1c00cece 100644 --- a/servant/src/Servant/API/IsSecure.hs +++ b/servant/src/Servant/API/IsSecure.hs @@ -1,12 +1,14 @@ {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DeriveGeneric #-} module Servant.API.IsSecure ( -- $issecure IsSecure(..) ) where import Data.Typeable -import GHC.Generics (Generic) + (Typeable) +import GHC.Generics + (Generic) -- | Was this request made over an SSL connection? -- diff --git a/servant/src/Servant/API/Modifiers.hs b/servant/src/Servant/API/Modifiers.hs index f34f5bf9..7979ac15 100644 --- a/servant/src/Servant/API/Modifiers.hs +++ b/servant/src/Servant/API/Modifiers.hs @@ -1,6 +1,6 @@ {-# LANGUAGE DataKinds #-} -{-# LANGUAGE KindSignatures #-} {-# LANGUAGE FlexibleContexts #-} +{-# LANGUAGE KindSignatures #-} {-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} @@ -19,10 +19,14 @@ module Servant.API.Modifiers ( unfoldRequestArgument, ) where -import Data.Proxy (Proxy (..)) -import Data.Singletons.Bool (SBool (..), SBoolI (..)) -import Data.Text (Text) -import Data.Type.Bool (If) +import Data.Proxy + (Proxy (..)) +import Data.Singletons.Bool + (SBool (..), SBoolI (..)) +import Data.Text + (Text) +import Data.Type.Bool + (If) -- | Required argument. Not wrapped. data Required diff --git a/servant/src/Servant/API/QueryParam.hs b/servant/src/Servant/API/QueryParam.hs index ffa66051..45d0e7ee 100644 --- a/servant/src/Servant/API/QueryParam.hs +++ b/servant/src/Servant/API/QueryParam.hs @@ -1,12 +1,14 @@ {-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE TypeOperators #-} {-# LANGUAGE PolyKinds #-} +{-# LANGUAGE TypeOperators #-} {-# OPTIONS_HADDOCK not-home #-} module Servant.API.QueryParam (QueryFlag, QueryParam, QueryParam', QueryParams) where -import Data.Typeable (Typeable) -import GHC.TypeLits (Symbol) +import Data.Typeable + (Typeable) +import GHC.TypeLits + (Symbol) import Servant.API.Modifiers -- | Lookup the value associated to the @sym@ query string parameter diff --git a/servant/src/Servant/API/Raw.hs b/servant/src/Servant/API/Raw.hs index 41077711..0624298c 100644 --- a/servant/src/Servant/API/Raw.hs +++ b/servant/src/Servant/API/Raw.hs @@ -2,7 +2,9 @@ {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Raw where -import Data.Typeable (Typeable) +import Data.Typeable + (Typeable) + -- | Endpoint for plugging in your own Wai 'Application's. -- -- The given 'Application' will get the request as received by the server, potentially with diff --git a/servant/src/Servant/API/RemoteHost.hs b/servant/src/Servant/API/RemoteHost.hs index e2de3a02..ab2e383a 100644 --- a/servant/src/Servant/API/RemoteHost.hs +++ b/servant/src/Servant/API/RemoteHost.hs @@ -5,6 +5,7 @@ module Servant.API.RemoteHost ) where import Data.Typeable + (Typeable) -- | Provides access to the host or IP address -- from which the HTTP request was sent. diff --git a/servant/src/Servant/API/ReqBody.hs b/servant/src/Servant/API/ReqBody.hs index 512b77ce..e8dd7961 100644 --- a/servant/src/Servant/API/ReqBody.hs +++ b/servant/src/Servant/API/ReqBody.hs @@ -6,8 +6,9 @@ module Servant.API.ReqBody ( ReqBody, ReqBody', ) where -import Data.Typeable (Typeable) -import Servant.API.Modifiers +import Data.Typeable + (Typeable) +import Servant.API.Modifiers -- | Extract the request body as a value of type @a@. -- @@ -17,7 +18,7 @@ import Servant.API.Modifiers -- >>> type MyApi = "books" :> ReqBody '[JSON] Book :> Post '[JSON] Book type ReqBody = ReqBody' '[Required, Strict] --- | +-- | -- -- /Note:/ 'ReqBody'' is always 'Required'. data ReqBody' (mods :: [*]) (contentTypes :: [*]) (a :: *) diff --git a/servant/src/Servant/API/ResponseHeaders.hs b/servant/src/Servant/API/ResponseHeaders.hs index ff867bc7..cd6f1ad6 100644 --- a/servant/src/Servant/API/ResponseHeaders.hs +++ b/servant/src/Servant/API/ResponseHeaders.hs @@ -34,18 +34,22 @@ module Servant.API.ResponseHeaders , HList(..) ) where -import Data.ByteString.Char8 as BS (ByteString, pack, unlines, init) -import Data.Typeable (Typeable) -import Web.HttpApiData (ToHttpApiData, toHeader, - FromHttpApiData, parseHeader) -import qualified Data.CaseInsensitive as CI +import Data.ByteString.Char8 as BS + (ByteString, init, pack, unlines) +import qualified Data.CaseInsensitive as CI import Data.Proxy -import GHC.TypeLits (KnownSymbol, Symbol, symbolVal) -import qualified Network.HTTP.Types.Header as HTTP +import Data.Typeable + (Typeable) +import GHC.TypeLits + (KnownSymbol, Symbol, symbolVal) +import qualified Network.HTTP.Types.Header as HTTP +import Web.HttpApiData + (FromHttpApiData, ToHttpApiData, parseHeader, toHeader) -import Servant.API.Header (Header) -import Prelude () +import Prelude () import Prelude.Compat +import Servant.API.Header + (Header) -- | Response Header objects. You should never need to construct one directly. -- Instead, use 'addOptionalHeader'. diff --git a/servant/src/Servant/API/Stream.hs b/servant/src/Servant/API/Stream.hs index 1a079e6d..369955b8 100644 --- a/servant/src/Servant/API/Stream.hs +++ b/servant/src/Servant/API/Stream.hs @@ -1,26 +1,34 @@ -{-# LANGUAGE DataKinds #-} -{-# LANGUAGE DeriveDataTypeable #-} -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE KindSignatures #-} -{-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE PolyKinds #-} -{-# LANGUAGE RankNTypes #-} -{-# LANGUAGE TupleSections #-} +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DeriveDataTypeable #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE FlexibleInstances #-} +{-# LANGUAGE KindSignatures #-} +{-# LANGUAGE MultiParamTypeClasses #-} +{-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE PolyKinds #-} +{-# LANGUAGE RankNTypes #-} +{-# LANGUAGE TupleSections #-} {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Stream where -import Data.ByteString.Lazy (ByteString, empty) -import qualified Data.ByteString.Lazy.Char8 as LB -import Data.Monoid ((<>)) -import Data.Proxy (Proxy) -import Data.Typeable (Typeable) -import GHC.Generics (Generic) -import Text.Read (readMaybe) -import Control.Arrow (first) -import Network.HTTP.Types.Method (StdMethod (..)) +import Control.Arrow + (first) +import Data.ByteString.Lazy + (ByteString, empty) +import qualified Data.ByteString.Lazy.Char8 as LB +import Data.Monoid + ((<>)) +import Data.Proxy + (Proxy) +import Data.Typeable + (Typeable) +import GHC.Generics + (Generic) +import Network.HTTP.Types.Method + (StdMethod (..)) +import Text.Read + (readMaybe) -- | A Stream endpoint for a given method emits a stream of encoded values at a given Content-Type, delimited by a framing strategy. Steam endpoints always return response code 200 on success. Type synonyms are provided for standard methods. data Stream (method :: k1) (framing :: *) (contentType :: *) (a :: *) diff --git a/servant/src/Servant/API/Sub.hs b/servant/src/Servant/API/Sub.hs index 45beac46..da0cfb30 100644 --- a/servant/src/Servant/API/Sub.hs +++ b/servant/src/Servant/API/Sub.hs @@ -4,7 +4,8 @@ {-# OPTIONS_HADDOCK not-home #-} module Servant.API.Sub ((:>)) where -import Data.Typeable (Typeable) +import Data.Typeable + (Typeable) -- | The contained API (second argument) can be found under @("/" ++ path)@ -- (path being the first argument). diff --git a/servant/src/Servant/API/TypeLevel.hs b/servant/src/Servant/API/TypeLevel.hs index 3cb8076b..70968e4e 100644 --- a/servant/src/Servant/API/TypeLevel.hs +++ b/servant/src/Servant/API/TypeLevel.hs @@ -47,16 +47,25 @@ module Servant.API.TypeLevel ( ) where -import GHC.Exts (Constraint) -import Servant.API.Alternative (type (:<|>)) -import Servant.API.Capture (Capture, CaptureAll) -import Servant.API.Header (Header) -import Servant.API.QueryParam (QueryFlag, QueryParam, QueryParams) -import Servant.API.ReqBody (ReqBody) -import Servant.API.Sub (type (:>)) -import Servant.API.Verbs (Verb) +import GHC.Exts + (Constraint) +import Servant.API.Alternative + (type (:<|>)) +import Servant.API.Capture + (Capture, CaptureAll) +import Servant.API.Header + (Header) +import Servant.API.QueryParam + (QueryFlag, QueryParam, QueryParams) +import Servant.API.ReqBody + (ReqBody) +import Servant.API.Sub + (type (:>)) +import Servant.API.Verbs + (Verb) #if MIN_VERSION_base(4,9,0) -import GHC.TypeLits (TypeError, ErrorMessage(..)) +import GHC.TypeLits + (ErrorMessage (..), TypeError) #endif diff --git a/servant/src/Servant/API/Vault.hs b/servant/src/Servant/API/Vault.hs index 7b0a0971..fae04c54 100644 --- a/servant/src/Servant/API/Vault.hs +++ b/servant/src/Servant/API/Vault.hs @@ -3,7 +3,8 @@ module Servant.API.Vault Vault ) where -import Data.Vault.Lazy (Vault) +import Data.Vault.Lazy + (Vault) -- $vault -- diff --git a/servant/src/Servant/API/Verbs.hs b/servant/src/Servant/API/Verbs.hs index d1e1d6eb..a82e8a04 100644 --- a/servant/src/Servant/API/Verbs.hs +++ b/servant/src/Servant/API/Verbs.hs @@ -8,15 +8,18 @@ module Servant.API.Verbs , StdMethod(GET, POST, HEAD, PUT, DELETE, TRACE, CONNECT, OPTIONS, PATCH) ) where -import Data.Typeable (Typeable) -import Data.Proxy (Proxy) -import GHC.Generics (Generic) -import GHC.TypeLits (Nat) -import Network.HTTP.Types.Method (Method, StdMethod (..), - methodDelete, methodGet, methodHead, - methodPatch, methodPost, methodPut, - methodTrace, methodConnect, - methodOptions) +import Data.Proxy + (Proxy) +import Data.Typeable + (Typeable) +import GHC.Generics + (Generic) +import GHC.TypeLits + (Nat) +import Network.HTTP.Types.Method + (Method, StdMethod (..), methodConnect, methodDelete, + methodGet, methodHead, methodOptions, methodPatch, methodPost, + methodPut, methodTrace) -- | @Verb@ is a general type for representing HTTP verbs (a.k.a. methods). For -- convenience, type synonyms for each verb with a 200 response code are diff --git a/servant/src/Servant/API/WithNamedContext.hs b/servant/src/Servant/API/WithNamedContext.hs index e467ea41..ef157f7b 100644 --- a/servant/src/Servant/API/WithNamedContext.hs +++ b/servant/src/Servant/API/WithNamedContext.hs @@ -1,9 +1,9 @@ -{-# LANGUAGE DataKinds #-} +{-# LANGUAGE DataKinds #-} {-# LANGUAGE KindSignatures #-} module Servant.API.WithNamedContext where -import GHC.TypeLits +import GHC.TypeLits -- | 'WithNamedContext' names a specific tagged context to use for the -- combinators in the API. (See also in @servant-server@, diff --git a/servant/src/Servant/Utils/Enter.hs b/servant/src/Servant/Utils/Enter.hs index 208e0d2e..80c073c3 100644 --- a/servant/src/Servant/Utils/Enter.hs +++ b/servant/src/Servant/Utils/Enter.hs @@ -13,7 +13,6 @@ module Servant.Utils.Enter {-# DEPRECATED "Use hoistServer or hoistServerWithCon (:~>)(..), ) where -import Control.Natural import Control.Monad.Identity import Control.Monad.Morph import Control.Monad.Reader @@ -21,8 +20,10 @@ import qualified Control.Monad.State.Lazy as LState import qualified Control.Monad.State.Strict as SState import qualified Control.Monad.Writer.Lazy as LWriter import qualified Control.Monad.Writer.Strict as SWriter -import Data.Tagged (Tagged, retag) -import Prelude () +import Control.Natural +import Data.Tagged + (Tagged, retag) +import Prelude () import Prelude.Compat import Servant.API diff --git a/servant/src/Servant/Utils/Links.hs b/servant/src/Servant/Utils/Links.hs index 65c46861..27c8ce97 100644 --- a/servant/src/Servant/Utils/Links.hs +++ b/servant/src/Servant/Utils/Links.hs @@ -101,38 +101,63 @@ module Servant.Utils.Links ( ) where import Data.List -import Data.Monoid.Compat ( (<>) ) -import Data.Proxy ( Proxy(..) ) -import Data.Singletons.Bool ( SBool (..), SBoolI (..) ) -import qualified Data.Text as Text -import qualified Data.Text.Encoding as TE -import Data.Type.Bool (If) -import GHC.TypeLits ( KnownSymbol, symbolVal ) -import Network.URI ( URI(..), escapeURIString, isUnreserved ) -import Prelude () +import Data.Monoid.Compat + ((<>)) +import Data.Proxy + (Proxy (..)) +import Data.Singletons.Bool + (SBool (..), SBoolI (..)) +import qualified Data.Text as Text +import qualified Data.Text.Encoding as TE +import Data.Type.Bool + (If) +import GHC.TypeLits + (KnownSymbol, symbolVal) +import Network.URI + (URI (..), escapeURIString, isUnreserved) +import Prelude () import Prelude.Compat -import Web.HttpApiData -import Servant.API.Alternative ( (:<|>)((:<|>)) ) -import Servant.API.BasicAuth ( BasicAuth ) -import Servant.API.Capture ( Capture', CaptureAll ) -import Servant.API.ReqBody ( ReqBody' ) -import Servant.API.QueryParam ( QueryParam', QueryParams, QueryFlag ) -import Servant.API.Header ( Header' ) -import Servant.API.HttpVersion (HttpVersion) -import Servant.API.RemoteHost ( RemoteHost ) -import Servant.API.IsSecure (IsSecure) -import Servant.API.Empty (EmptyAPI (..)) -import Servant.API.Verbs ( Verb ) -import Servant.API.Sub ( type (:>) ) -import Servant.API.Raw ( Raw ) -import Servant.API.Stream ( Stream ) -import Servant.API.TypeLevel -import Servant.API.Modifiers (FoldRequired) -import Servant.API.Description (Description, Summary) -import Servant.API.Vault (Vault) -import Servant.API.WithNamedContext (WithNamedContext) -import Servant.API.Experimental.Auth ( AuthProtect ) +import Servant.API.Alternative + ((:<|>) ((:<|>))) +import Servant.API.BasicAuth + (BasicAuth) +import Servant.API.Capture + (Capture', CaptureAll) +import Servant.API.Description + (Description, Summary) +import Servant.API.Empty + (EmptyAPI (..)) +import Servant.API.Experimental.Auth + (AuthProtect) +import Servant.API.Header + (Header') +import Servant.API.HttpVersion + (HttpVersion) +import Servant.API.IsSecure + (IsSecure) +import Servant.API.Modifiers + (FoldRequired) +import Servant.API.QueryParam + (QueryFlag, QueryParam', QueryParams) +import Servant.API.Raw + (Raw) +import Servant.API.RemoteHost + (RemoteHost) +import Servant.API.ReqBody + (ReqBody') +import Servant.API.Stream + (Stream) +import Servant.API.Sub + (type (:>)) +import Servant.API.TypeLevel +import Servant.API.Vault + (Vault) +import Servant.API.Verbs + (Verb) +import Servant.API.WithNamedContext + (WithNamedContext) +import Web.HttpApiData -- | A safe link datatype. -- The only way of constructing a 'Link' is using 'safeLink', which means any