@@ -161,6 +161,7 @@ module Network.HTTP.Req
161 -- *** Headers
161 -- *** Headers
163 attachHeader,
163 attachHeader,
165 -- *** Cookies
166 -- *** Cookies
166 -- $cookies
167 -- $cookies
@@ -255,6 +256,7 @@ import qualified Data.List.NonEmpty as NE
255import Data.Maybe (fromMaybe)
256import Data.Maybe (fromMaybe)
256import Data.Proxy
257import Data.Proxy
257import Data.Semigroup (Endo (..))
258import Data.Semigroup (Endo (..))
259+import qualified Data.Set as S
258import Data.Text (Text)
260import Data.Text (Text)
259import qualified Data.Text as T
261import qualified Data.Text as T
260import qualified Data.Text.Encoding as T
262import qualified Data.Text.Encoding as T
@@ -1561,6 +1563,14 @@ attachHeader :: ByteString -> ByteString -> L.Request -> L.Request
1561attachHeader name value x =
1563attachHeader name value x =
1562 x {L.requestHeaders = (CI.mk name, value) : L.requestHeaders x}
1564 x {L.requestHeaders = (CI.mk name, value) : L.requestHeaders x}
1566+-- | Same as 'header', but with redacted values on print.
1569+headerRedacted :: ByteString -> ByteString -> Option scheme
1570+headerRedacted name value = withRequest $ \x ->
1571+ let y = attachHeader name value x
1572+ in y {L.redactHeaders = CI.mk name `S.insert` L.redactHeaders y}
1564----------------------------------------------------------------------------
1574----------------------------------------------------------------------------
1565-- Request—Optional parameters—Cookies
1575-- Request—Optional parameters—Cookies