Sha256: 9c3a8af1293af412445df316b2ad499df25f6c38317fa817c2379cddd1059ef8
Contents?: true
Size: 954 Bytes
Versions: 12
Compression:
Stored size: 954 Bytes
Contents
# frozen_string_literal: true module FinAppsCore module Utils module ParameterFilter using StringExtensions PROTECTED_KEYS = %w(login login1 username password password1 password_confirm token x-finapps-token authorization).freeze def skip_sensitive_data(hash) if hash.is_a? String hash = hash.json_to_hash end if hash.is_a? Hash filtered_hash = hash.clone filtered_hash.each do |key, value| if PROTECTED_KEYS.include? key.to_s.downcase filtered_hash[key] = '[REDACTED]' elsif value.is_a?(Hash) filtered_hash[key] = skip_sensitive_data(value) elsif value.is_a?(Array) filtered_hash[key] = value.map {|v| v.is_a?(Hash) ? skip_sensitive_data(v) : v } end end filtered_hash else hash end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems