class Rreplay::Http
Constants
- Result
Public Class Methods
new(endpoint)
click to toggle source
# File lib/rreplay/replay_runner.rb, line 123 def initialize(endpoint) @endpoint = endpoint end
Public Instance Methods
call(orig_request)
click to toggle source
# File lib/rreplay/replay_runner.rb, line 127 def call(orig_request) uri = URI(::File.join(@endpoint, orig_request['path'], orig_request['query_strings'])) body = orig_request['body'] headers = orig_request['headers'] headers.merge!({ 'User-Agent': 'RreplayRunner' }) request_clazz = case orig_request['method'].upcase when 'GET' Net::HTTP::Get when 'POST' Net::HTTP::Post when 'PUT' Net::HTTP::Put when 'PATCH' Net::HTTP::Patch when 'DELETE' Net::HTTP::Delete else # ignore return end request = request_clazz.new(uri, headers).tap do |req| req.body = body end start_time = Time.now response = Net::HTTP.start(uri.hostname, uri.port, :use_ssl => uri.scheme == 'https') { |http| http.request(request) } Result.new(response, (Time.now - start_time).to_s) end