# File lib/webmock/http_lib_adapters/httpclient.rb, line 96
96: def build_request_signature(req)
97: uri = WebMock::Util::URI.heuristic_parse(req.header.request_uri.to_s)
98: uri.query_values = req.header.request_query if req.header.request_query
99: uri.port = req.header.request_uri.port
100: uri = uri.omit(:userinfo)
101:
102: auth = www_auth.basic_auth
103: auth.challenge(req.header.request_uri, nil)
104:
105: headers = req.header.all.inject({}) do |headers, header|
106: headers[header[0]] ||= [];
107: headers[header[0]] << header[1]
108: headers
109: end
110:
111: if (auth_cred = auth.get(req)) && auth.scheme == 'Basic'
112: userinfo = WebMock::Util::Headers.decode_userinfo_from_header(auth_cred)
113: userinfo = WebMock::Util::URI.encode_unsafe_chars_in_userinfo(userinfo)
114: headers.reject! {|k,v| k =~ /[Aa]uthorization/ && v =~ /^Basic / } #we added it to url userinfo
115: uri.userinfo = userinfo
116: end
117:
118: request_signature = WebMock::RequestSignature.new(
119: req.header.request_method.downcase.to_sym,
120: uri.to_s,
121: :body => req.body.content,
122: :headers => headers
123: )
124: end
# File lib/webmock/http_lib_adapters/httpclient.rb, line 81
81: def build_webmock_response(httpclient_response)
82: webmock_response = WebMock::Response.new
83: webmock_response.status = [httpclient_response.status, httpclient_response.reason]
84: webmock_response.headers = httpclient_response.header.all
85: if httpclient_response.content.respond_to?(:read)
86: webmock_response.body = httpclient_response.content.read
87: body = HTTP::Message::Body.new
88: body.init_response(StringIO.new(webmock_response.body))
89: httpclient_response.body = body
90: else
91: webmock_response.body = httpclient_response.content
92: end
93: webmock_response
94: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.