Sha256: 03988cbe7ccf963fe1a550fa09f15f2862d12f2f319bb9aa22298861c0318fc5
Contents?: true
Size: 727 Bytes
Versions: 45
Compression:
Stored size: 727 Bytes
Contents
require "pact_broker/string_refinements" module PactBroker module Webhooks module RedactLogs HEADER_SUBSTITUTIONS = [[/(Authorization: )(.*)/i, '\1[REDACTED]'], [ /(Token: )(.*)/i, '\1[REDACTED]']] using PactBroker::StringRefinements def redact_logs(logs, values) RedactLogs.call(logs, values) end def self.call logs, values substitutions = HEADER_SUBSTITUTIONS + value_substitutions(values) substitutions.reduce(logs) do | agg_logs, (find, replace) | agg_logs.gsub(find, replace) end end def self.value_substitutions(values) values.select(&:not_blank?).collect{ | value | [value, "********"] } end end end end
Version data entries
45 entries across 45 versions & 1 rubygems