Add common instances to Req module.

This commit is contained in:
Julian K. Arni 2015-08-20 21:15:29 +02:00
parent 90d837dda9
commit 6782587fbd

View file

@ -1,37 +1,40 @@
{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE CPP #-} {-# LANGUAGE CPP #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ScopedTypeVariables #-}
module Servant.Common.Req where module Servant.Common.Req where
#if !MIN_VERSION_base(4,8,0) #if !MIN_VERSION_base(4,8,0)
import Control.Applicative import Control.Applicative
#endif #endif
import Control.Exception import Control.Exception
import Control.Monad import Control.Monad
import Control.Monad.Catch (MonadThrow) import Control.Monad.Catch (MonadThrow)
import Control.Monad.IO.Class import Control.Monad.IO.Class
import Control.Monad.Trans.Either import Control.Monad.Trans.Either
import Data.ByteString.Lazy hiding (pack, filter, map, null, elem) import Data.ByteString.Lazy hiding (elem, filter, map, null,
import Data.IORef pack)
import Data.String import Data.IORef
import Data.String.Conversions import Data.Proxy
import Data.Proxy import Data.String
import Data.Text (Text) import Data.String.Conversions
import Data.Text.Encoding import Data.Text (Text)
import Data.Typeable import Data.Text.Encoding
import Network.HTTP.Client hiding (Proxy) import Data.Typeable
import Network.HTTP.Client.TLS import GHC.Generics
import Network.HTTP.Media import Network.HTTP.Client hiding (Proxy)
import Network.HTTP.Types import Network.HTTP.Client.TLS
import qualified Network.HTTP.Types.Header as HTTP import Network.HTTP.Media
import Network.URI import Network.HTTP.Types
import Servant.API.ContentTypes import qualified Network.HTTP.Types.Header as HTTP
import Servant.Common.BaseUrl import Network.URI
import Servant.Common.Text import Servant.API.ContentTypes
import System.IO.Unsafe import Servant.Common.BaseUrl
import Servant.Common.Text
import System.IO.Unsafe
import qualified Network.HTTP.Client as Client import qualified Network.HTTP.Client as Client
data ServantError data ServantError
= FailureResponse = FailureResponse
@ -55,7 +58,7 @@ data ServantError
| ConnectionError | ConnectionError
{ connectionError :: SomeException { connectionError :: SomeException
} }
deriving (Show, Typeable) deriving (Eq, Show, Typeable, Generic)
instance Exception ServantError instance Exception ServantError
@ -65,7 +68,7 @@ data Req = Req
, reqBody :: Maybe (ByteString, MediaType) , reqBody :: Maybe (ByteString, MediaType)
, reqAccept :: [MediaType] , reqAccept :: [MediaType]
, headers :: [(String, Text)] , headers :: [(String, Text)]
} } deriving (Eq, Show, Typeable, Generic)
defReq :: Req defReq :: Req
defReq = Req "" [] Nothing [] [] defReq = Req "" [] Nothing [] []