@@ -1,6 +1,7 @@
1{-# LANGUAGE CPP #-}
1{-# LANGUAGE CPP #-}
2{-# LANGUAGE DeriveDataTypeable #-}
2{-# LANGUAGE DeriveDataTypeable #-}
3{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DeriveGeneric #-}
4+{-# LANGUAGE DeriveFunctor #-}
4{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5{-# LANGUAGE GeneralizedNewtypeDeriving #-}
5{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE OverloadedStrings #-}
7{-# LANGUAGE OverloadedStrings #-}
@@ -43,15 +44,17 @@ data ServantError =
43 | ConnectionError Text
44 | ConnectionError Text
44 deriving (Eq, Show, Generic, Typeable)
45 deriving (Eq, Show, Generic, Typeable)
46−data Request = Request
47+data RequestF a = Request
47− { requestPath :: Builder.Builder
48+ { requestPath :: a
48 , requestQueryString :: Seq.Seq QueryItem
49 , requestQueryString :: Seq.Seq QueryItem
49 , requestBody :: Maybe (RequestBody, MediaType)
50 , requestBody :: Maybe (RequestBody, MediaType)
50 , requestAccept :: Seq.Seq MediaType
51 , requestAccept :: Seq.Seq MediaType
51 , requestHeaders :: Seq.Seq Header
52 , requestHeaders :: Seq.Seq Header
52 , requestHttpVersion :: HttpVersion
53 , requestHttpVersion :: HttpVersion
53 , requestMethod :: Method
54 , requestMethod :: Method
54− } deriving (Generic, Typeable)
55+ } deriving (Eq, Show, Functor, Generic, Typeable)
57+type Request = RequestF Builder.Builder
56-- | The request body. Currently only lazy ByteStrings are supported.
59-- | The request body. Currently only lazy ByteStrings are supported.
57newtype RequestBody = RequestBodyLBS LBS.ByteString
60newtype RequestBody = RequestBodyLBS LBS.ByteString