on master help sign in
Don't send an Accept header if the list of accepted types is empty
098b503Timo von Holtz
src/Servant/Common/Req.hs+3−2
@@ -13,7 +13,7 @@ import Data.Aeson
13import Data.Aeson.Parser
13import Data.Aeson.Parser
14import Data.Aeson.Types
14import Data.Aeson.Types
15import Data.Attoparsec.ByteString
15import Data.Attoparsec.ByteString
16−import Data.ByteString.Lazy hiding (pack, filter, map)
16+import Data.ByteString.Lazy hiding (pack, filter, map, null)
17import qualified Data.ByteString as BS
17import qualified Data.ByteString as BS
18import qualified Data.ByteString.Char8 as BSC
18import qualified Data.ByteString.Char8 as BSC
19import Data.String
19import Data.String
@@ -93,7 +93,8 @@ reqToRequest req (BaseUrl reqScheme reqHost reqPort) =
93 setheaders r = r { requestHeaders = requestHeaders r
93 setheaders r = r { requestHeaders = requestHeaders r
94 ++ Prelude.map toProperHeader (headers req) }
94 ++ Prelude.map toProperHeader (headers req) }
95 setAccept r = r { requestHeaders = filter ((/= "Accept") . fst) (requestHeaders r)
95 setAccept r = r { requestHeaders = filter ((/= "Accept") . fst) (requestHeaders r)
96− ++ [("Accept", BS.intercalate ", " (map renderAccept $ reqAccept req))] }
96+ ++ [("Accept", BS.intercalate ", " (map renderAccept $ reqAccept req))
97+ | not . null . reqAccept $ req] }
97 renderAccept :: MediaType -> BS.ByteString
98 renderAccept :: MediaType -> BS.ByteString
98 renderAccept m = BSC.pack (show m)
99 renderAccept m = BSC.pack (show m)
99 toProperHeader (name, val) =
100 toProperHeader (name, val) =