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 ...@@ -56,6 +56,7 @@ library
, http-client , http-client
, http-client-tls , http-client-tls
, http-media , http-media
, http-types
, lens , lens
, mtl , mtl
, optparse-applicative , optparse-applicative
......
...@@ -9,16 +9,24 @@ Portability : POSIX ...@@ -9,16 +9,24 @@ Portability : POSIX
-} -}
module PUBMED.ServantClientLogging where module PUBMED.ServantClientLogging where
import qualified Data.Binary.Builder as DBB
import Debug.Trace (trace) import Debug.Trace (trace)
import Network.HTTP.Types
import Servant.Client (ClientEnv(..)) import Servant.Client (ClientEnv(..))
import Servant.Client.Core.Request (RequestF(..)) import Servant.Client.Core.Request (RequestF(..))
import qualified Data.Binary.Builder as DBB
addLoggingToClientEnv :: ClientEnv -> ClientEnv addLoggingToClientEnv :: ClientEnv -> ClientEnv
addLoggingToClientEnv env@(ClientEnv { makeClientRequest = mcr }) = env { makeClientRequest } addLoggingToClientEnv env@(ClientEnv { makeClientRequest = mcr }) = env { makeClientRequest }
where where
makeClientRequest baseUrl req = 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 = showRequestPath req =
show $ DBB.toLazyByteString $ requestPath 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