class MiniProxy::Stub::Request

MiniProxy stub request to match and stub external URLs with a stubbed response

Attributes

response[R]

Public Class Methods

new(method:, url:, response:) click to toggle source

@param [String] method @param [Regexp, String] url @param [MiniProxy::Response] response

# File lib/miniproxy/stub/request.rb, line 11
def initialize(method:, url:, response:)
  @method = method
  @response = response
  @url = url
end

Public Instance Methods

match?(http_request) click to toggle source

@param [WEBrick::HTTPRequest] http_request

# File lib/miniproxy/stub/request.rb, line 18
def match?(http_request)
  if http_request.request_method == "CONNECT"
    host = http_request.unparsed_uri.split(":").first
    @url.match?(host)
  else
    request_uri = http_request.host + http_request.path
    http_request.request_method == @method && request_uri.match?(@url)
  end
end