Class: MiniProxy::Stub::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/miniproxy/stub/request.rb

Overview

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(method:, url:, response:) ⇒ Request

Returns a new instance of Request.

Parameters:

  • method (String)
  • url (Regexp, String)
  • response (MiniProxy::Response)


11
12
13
14
15
# File 'lib/miniproxy/stub/request.rb', line 11

def initialize(method:, url:, response:)
  @method = method
  @response = response
  @url = url
end

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



6
7
8
# File 'lib/miniproxy/stub/request.rb', line 6

def response
  @response
end

Instance Method Details

#match?(http_request) ⇒ Boolean

Parameters:

  • http_request (WEBrick::HTTPRequest)

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
# 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