Sha256: f657482c75df414558cc6f5efa84be331bf260d686f62ec313ac37af62d1c685
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
require "net/https" require "multi_json" module CFoundry module TraceHelpers PROTECTED_ATTRIBUTES = ['Authorization'] def request_trace(request) return nil unless request info = ["REQUEST: #{request[:method]} #{request[:url]}"] info << "REQUEST_HEADERS:" info << header_trace(request[:headers]) info << "REQUEST_BODY: #{request[:body]}" if request[:body] info.join("\n") end def response_trace(response) return nil unless response info = ["RESPONSE: [#{response[:status]}]"] info << "RESPONSE_HEADERS:" info << header_trace(response[:headers]) info << "RESPONSE_BODY:" begin parsed_body = MultiJson.load(response[:body]) info << MultiJson.dump(parsed_body, :pretty => true) rescue info << "#{response[:body]}" end info.join("\n") end private def header_trace(headers) headers.sort.map do |key, value| unless PROTECTED_ATTRIBUTES.include?(key) " #{key} : #{value}" else " #{key} : [PRIVATE DATA HIDDEN]" end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cfoundry-2.3.6.rc1 | lib/cfoundry/trace_helpers.rb |