module Excon::Utils

def redact(datum)

Redact sensitive info from provided data
def redact(datum)
  datum = datum.dup
  if datum.has_key?(:headers)
    if datum[:headers].has_key?('Authorization') || datum[:headers].has_key?('Proxy-Authorization')
      datum[:headers] = datum[:headers].dup
    end
    if datum[:headers].has_key?('Authorization')
      datum[:headers]['Authorization'] = REDACTED
    end
    if datum[:headers].has_key?('Proxy-Authorization')
      datum[:headers]['Proxy-Authorization'] = REDACTED
    end
  end
  if datum.has_key?(:password)
    datum[:password] = REDACTED
  end
  if datum.has_key?(:proxy) && datum[:proxy] && datum[:proxy].has_key?(:password)
    datum[:proxy] = datum[:proxy].dup
    datum[:proxy][:password] = REDACTED
  end
  datum
end