packages feed

http-client 0.7.12 → 0.7.13

raw patch · 4 files changed

+19/−5 lines, 4 files

Files

ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for http-client +## 0.7.13++* Create the ability to redact custom header values to censor sensitive information+ ## 0.7.12  * Fix premature connection closing due to weak reference lifetimes [#490](https://github.com/snoyberg/http-client/pull/490)
Network/HTTP/Client/Request.hs view
@@ -49,6 +49,7 @@ import Control.Monad (unless, guard) import Control.Monad.IO.Class (MonadIO, liftIO) import Numeric (showHex)+import qualified Data.Set as Set  import Blaze.ByteString.Builder (Builder, fromByteString, fromLazyByteString, toByteStringIO, flush) import Blaze.ByteString.Builder.Char8 (fromChar, fromShow)@@ -303,6 +304,7 @@         , requestManagerOverride = Nothing         , shouldStripHeaderOnRedirect = const False         , proxySecureMode = ProxySecureWithConnect+        , redactHeaders = Set.singleton "Authorization"         }  -- | Parses a URL via 'parseRequest_'
Network/HTTP/Client/Types.hs view
@@ -59,6 +59,7 @@ import Data.IORef import qualified Network.Socket as NS import qualified Data.Map as Map+import qualified Data.Set as Set import Data.Text (Text) import Data.Streaming.Zlib (ZlibException) import Data.CaseInsensitive as CI@@ -620,6 +621,11 @@     -- Default: Use HTTP CONNECT.     --     -- @since 0.7.2++    , redactHeaders :: Set.Set HeaderName+    -- ^ List of header values being redacted in case we show Request.+    --+    -- @since 0.7.13     }     deriving T.Typeable @@ -643,7 +649,7 @@         , "  host                 = " ++ show (host x)         , "  port                 = " ++ show (port x)         , "  secure               = " ++ show (secure x)-        , "  requestHeaders       = " ++ show (DL.map redactSensitiveHeader (requestHeaders x))+        , "  requestHeaders       = " ++ show (DL.map (redactSensitiveHeader $ redactHeaders x) (requestHeaders x))         , "  path                 = " ++ show (path x)         , "  queryString          = " ++ show (queryString x)         --, "  requestBody          = " ++ show (requestBody x)@@ -657,9 +663,11 @@         , "}"         ] -redactSensitiveHeader :: Header -> Header-redactSensitiveHeader ("Authorization", _) = ("Authorization", "<REDACTED>")-redactSensitiveHeader h = h+redactSensitiveHeader :: Set.Set HeaderName -> Header -> Header+redactSensitiveHeader toRedact h@(name, _) =+  if name `Set.member` toRedact+    then (name, "<REDACTED>")+    else h  -- | A simple representation of the HTTP response. --
http-client.cabal view
@@ -1,5 +1,5 @@ name:                http-client-version:             0.7.12+version:             0.7.13 synopsis:            An HTTP client engine description:         Hackage documentation generation is not reliable. For up to date documentation, please see: <http://www.stackage.org/package/http-client>. homepage:            https://github.com/snoyberg/http-client