Skip to content

Commit

Permalink
Reformat servant
Browse files Browse the repository at this point in the history
  • Loading branch information
phadej committed Mar 11, 2018
1 parent 74cf829 commit 8058891
Show file tree
Hide file tree
Showing 27 changed files with 293 additions and 204 deletions.
7 changes: 4 additions & 3 deletions .stylish-haskell.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
130 changes: 67 additions & 63 deletions servant/src/Servant/API.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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 (..))
8 changes: 5 additions & 3 deletions servant/src/Servant/API/Alternative.hs
Original file line number Diff line number Diff line change
@@ -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

Expand Down
15 changes: 9 additions & 6 deletions servant/src/Servant/API/BasicAuth.hs
Original file line number Diff line number Diff line change
@@ -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 <https://tools.ietf.org/html/rfc2617#section-2 Basic Access Authentication>.
Expand Down
6 changes: 4 additions & 2 deletions servant/src/Servant/API/Capture.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
36 changes: 21 additions & 15 deletions servant/src/Servant/API/ContentTypes.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 7 additions & 4 deletions servant/src/Servant/API/Description.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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.
--
Expand Down
3 changes: 2 additions & 1 deletion servant/src/Servant/API/Empty.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
9 changes: 5 additions & 4 deletions servant/src/Servant/API/Experimental/Auth.hs
Original file line number Diff line number Diff line change
@@ -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.
Expand Down
6 changes: 4 additions & 2 deletions servant/src/Servant/API/Header.hs
Original file line number Diff line number Diff line change
Expand Up @@ -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@.
Expand Down
3 changes: 2 additions & 1 deletion servant/src/Servant/API/HttpVersion.hs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ module Servant.API.HttpVersion
HttpVersion(..)
) where

import Network.HTTP.Types (HttpVersion (..))
import Network.HTTP.Types
(HttpVersion (..))

-- $httpversion
--
Expand Down
3 changes: 1 addition & 2 deletions servant/src/Servant/API/Internal/Test/ComprehensiveAPI.hs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}

-- | This is a module containing an API with all `Servant.API` combinators. It
Expand All @@ -7,7 +7,6 @@
module Servant.API.Internal.Test.ComprehensiveAPI where

import Data.Proxy

import Servant.API

type GET = Get '[JSON] NoContent
Expand Down
6 changes: 4 additions & 2 deletions servant/src/Servant/API/IsSecure.hs
Original file line number Diff line number Diff line change
@@ -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?
--
Expand Down
14 changes: 9 additions & 5 deletions servant/src/Servant/API/Modifiers.hs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
Expand All @@ -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
Expand Down
Loading

0 comments on commit 8058891

Please sign in to comment.