class AuthorizeNet::API::SensitiveDataFilter
Public Class Methods
new()
click to toggle source
# File lib/authorize_net/api/SensitiveDataFilter.rb, line 38 def initialize @@sensitiveTagConfig = SensitiveDataConfigType.new @@cardPatterns = @@sensitiveTagConfig.sensitiveStringRegexes @@tagPatterns = Array.new(@@sensitiveTagConfig.sensitiveStringRegexes.length) @@tagReplacements = Array.new(@@sensitiveTagConfig.sensitiveTags.length) @@sensitiveTagConfig.sensitiveTags.each_with_index do |sensitiveTag, index| tagName = sensitiveTag.tagName replacement = sensitiveTag.replacement if sensitiveTag.pattern.nil? || sensitiveTag.pattern.empty? pattern = "(.*)" else pattern = sensitiveTag.pattern end @@tagPatterns[index] = "<"+tagName+">"+pattern+"</"+tagName+">" @@tagReplacements[index] = "<"+tagName+">"+replacement+"</"+tagName+">" end end
Public Instance Methods
call(severity, time, progname, msg)
click to toggle source
# File lib/authorize_net/api/SensitiveDataFilter.rb, line 59 def call(severity, time, progname, msg) xmlMaskedLog = maskSensitiveXmlString(msg) ccMasked = maskCreditCards(xmlMaskedLog) return formatLogEntry(severity, time, progname, ccMasked) end
formatLogEntry(severity, time, progname, msg)
click to toggle source
# File lib/authorize_net/api/SensitiveDataFilter.rb, line 81 def formatLogEntry(severity, time, progname, msg) constants = YAML.load_file(File.dirname(__FILE__) + "/constants.yml") progname = constants['clientId'] date_format = time.strftime("%Y-%m-%d %H:%M:%S") if severity == "INFO" or severity == "WARN" "[#{date_format}] #{severity} (#{progname}): #{msg}\n" else "[#{date_format}] #{severity} (#{progname}): #{msg}\n" end end
maskCreditCards(input)
click to toggle source
# File lib/authorize_net/api/SensitiveDataFilter.rb, line 65 def maskCreditCards(input) input = input.force_encoding("UTF-8") @@cardPatterns.each {|cardNumberRegex| input = input.gsub(/#{cardNumberRegex}/, "XXX") } return input end
maskSensitiveXmlString(input)
click to toggle source
# File lib/authorize_net/api/SensitiveDataFilter.rb, line 73 def maskSensitiveXmlString(input) input = input.force_encoding("UTF-8") @@tagPatterns.each_with_index do |item, index| input = input.gsub(/#{item}/,@@tagReplacements[index]) end return input end