class Raven::Processor::Cookies

Public Instance Methods

process(data) click to toggle source
# File lib/raven/processor/cookies.rb, line 3
def process(data)
  process_if_symbol_keys(data) if data[:request]
  process_if_string_keys(data) if data["request"]

  data
end

Private Instance Methods

generate_masked_cookies(cookies) click to toggle source
# File lib/raven/processor/cookies.rb, line 32
def generate_masked_cookies(cookies)
  cookies.merge(cookies) { STRING_MASK } if cookies.respond_to?(:merge)
end
process_if_string_keys(data) click to toggle source
# File lib/raven/processor/cookies.rb, line 22
def process_if_string_keys(data)
  if cookies = data.dig("request", "cookies")
    data["request"]["cookies"] = generate_masked_cookies(cookies)
  end

  if cookies_header = data.dig("request", "headers", "Cookie")
    data["request"]["headers"]["Cookie"] = generate_masked_cookies(cookies_header)
  end
end
process_if_symbol_keys(data) click to toggle source
# File lib/raven/processor/cookies.rb, line 12
def process_if_symbol_keys(data)
  if cookies = data.dig(:request, :cookies)
    data[:request][:cookies] = generate_masked_cookies(cookies)
  end

  if cookies_header = data[:request][:headers]["Cookie"]
    data[:request][:headers]["Cookie"] = generate_masked_cookies(cookies_header)
  end
end