class WebMock::HttpLibAdapters::PatronAdapter
def self.build_request_signature(req)
def self.build_request_signature(req) uri = WebMock::Util::URI.heuristic_parse(req.url) uri.path = uri.normalized_path.gsub("[^:]//","/") if [:put, :post, :patch].include?(req.action) if req.file_name if !File.exist?(req.file_name) || !File.readable?(req.file_name) raise ArgumentError.new("Unable to open specified file.") end request_body = File.read(req.file_name) elsif req.upload_data request_body = req.upload_data else raise ArgumentError.new("Must provide either data or a filename when doing a PUT or POST") end end headers = req.headers if req.credentials headers['Authorization'] = WebMock::Util::Headers.basic_auth_header(req.credentials) end request_signature = WebMock::RequestSignature.new( req.action, uri.to_s, body: request_body, headers: headers ) request_signature end