Commit b6c54554 authored by Alfredo Di Napoli's avatar Alfredo Di Napoli

Redact api_key from trace debug logs

parent 300764df
......@@ -56,6 +56,7 @@ library
, http-client
, http-client-tls
, http-media
, http-types
, lens
, mtl
, optparse-applicative
......
......@@ -9,16 +9,24 @@ Portability : POSIX
-}
module PUBMED.ServantClientLogging where
import qualified Data.Binary.Builder as DBB
import Debug.Trace (trace)
import Network.HTTP.Types
import Servant.Client (ClientEnv(..))
import Servant.Client.Core.Request (RequestF(..))
import qualified Data.Binary.Builder as DBB
addLoggingToClientEnv :: ClientEnv -> ClientEnv
addLoggingToClientEnv env@(ClientEnv { makeClientRequest = mcr }) = env { makeClientRequest }
where
makeClientRequest baseUrl req =
trace ("req: " <> showRequestPath req <> " " <> show (requestQueryString req)) $ mcr baseUrl req
trace ("req: " <> showRequestPath req <> " " <> show (fmap sanitiseQueryItem $ requestQueryString req)) $ mcr baseUrl req
showRequestPath req =
show $ DBB.toLazyByteString $ requestPath req
sanitiseQueryItem :: QueryItem -> QueryItem
sanitiseQueryItem (k, mb_v)
| k == "api_key"
= (k, Just "*****")
| otherwise
= (k, mb_v)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment