introduce type ReqBodyContentType replacing use of Bool

This commit is contained in:
Andrew Cady 2018-09-17 17:19:41 -04:00
parent 19378364dc
commit c07f86bda7
2 changed files with 13 additions and 9 deletions

View file

@ -5,6 +5,7 @@ module Servant.Foreign
, HeaderArg(..)
, QueryArg(..)
, Req(..)
, ReqBodyContentType(..)
, Segment(..)
, SegmentType(..)
, Url(..)
@ -21,7 +22,7 @@ module Servant.Foreign
, reqMethod
, reqHeaders
, reqBody
, reqBodyIsJSON
, reqBodyContentType
, reqReturnType
, reqFuncName
, path

View file

@ -123,6 +123,9 @@ defUrl = Url [] []
makeLenses ''Url
data ReqBodyContentType = ReqBodyJSON | ReqBodyMultipart
deriving (Data, Eq, Show, Read)
data Req f = Req
{ _reqUrl :: Url f
, _reqMethod :: HTTP.Method
@ -130,14 +133,14 @@ data Req f = Req
, _reqBody :: Maybe f
, _reqReturnType :: Maybe f
, _reqFuncName :: FunctionName
, _reqBodyIsJSON :: Bool
, _reqBodyContentType :: ReqBodyContentType
}
deriving (Data, Eq, Show, Typeable)
makeLenses ''Req
defReq :: Req ftype
defReq = Req defUrl "GET" [] Nothing Nothing (FunctionName []) True
defReq = Req defUrl "GET" [] Nothing Nothing (FunctionName []) ReqBodyJSON
-- | 'HasForeignType' maps Haskell types with types in the target
-- language of your backend. For example, let's say you're