@@ -61,7 +61,7 @@ get manager reqHeaders uri callback = wrapCustomEx $ do
61
61
-- TODO: setUri fails under certain circumstances; in particular, when
62
62
-- the URI contains URL auth. Not sure if this is a concern.
63
63
request' <- HttpClient. setUri HttpClient. defaultRequest uri
64
- let request = setRequestHeaders reqHeaders request'
64
+ let request = addRequestHeaders reqHeaders request'
65
65
checkHttpException $ HttpClient. withResponse request manager $ \ response -> do
66
66
let br = wrapCustomEx $ HttpClient. responseBody response
67
67
callback (getResponseHeaders response) br
@@ -72,7 +72,7 @@ getRange :: Throws SomeRemoteError
72
72
-> (HttpStatus -> [HttpResponseHeader ] -> BodyReader -> IO a )
73
73
-> IO a
74
74
getRange manager reqHeaders uri (from, to) callback = wrapCustomEx $ do
75
- request <- (setRange from to . setRequestHeaders reqHeaders)
75
+ request <- (setRange from to . addRequestHeaders reqHeaders)
76
76
`fmap` HttpClient. setUri HttpClient. defaultRequest uri
77
77
checkHttpException $ HttpClient. withResponse request manager $ \ response -> do
78
78
let br = wrapCustomEx $ HttpClient. responseBody response
@@ -129,11 +129,11 @@ setRange from to req = req {
129
129
-- See <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html>
130
130
rangeHeader = BS.C8. pack $ " bytes=" ++ show from ++ " -" ++ show (to - 1 )
131
131
132
- -- | Set request headers
133
- setRequestHeaders :: [HttpRequestHeader ]
132
+ -- | Add the given request headers
133
+ addRequestHeaders :: [HttpRequestHeader ]
134
134
-> HttpClient. Request -> HttpClient. Request
135
- setRequestHeaders opts req = req {
136
- HttpClient. requestHeaders = trOpt disallowCompressionByDefault opts
135
+ addRequestHeaders opts req = req {
136
+ HttpClient. requestHeaders = HttpClient. requestHeaders req ++ trOpt disallowCompressionByDefault opts
137
137
}
138
138
where
139
139
trOpt :: [(HttpClient. HeaderName , [ByteString ])]
0 commit comments