class HttpStub::Client::Request

Public Class Methods

new(args) click to toggle source
# File lib/http_stub/client/request.rb, line 6
def initialize(args)
  @base_uri     = URI(args[:base_uri])
  @path         = args[:path]
  @method       = args[:method]
  @headers      = args[:headers] || {}
  @parameters   = args[:parameters]
  @http_options = args[:http_options] || {}
  @intent       = args[:intent]
end

Public Instance Methods

error_message_prefix() click to toggle source
# File lib/http_stub/client/request.rb, line 22
def error_message_prefix
  "Error occurred issuing request to #{@base_uri} - intent: #{@intent}, cause: "
end
submit() click to toggle source
# File lib/http_stub/client/request.rb, line 16
def submit
  Net::HTTP.start(@base_uri.host, @base_uri.port, @http_options) { |http| http.request(http_request) }
rescue StandardError => error
  raise "#{error_message_prefix} #{error}"
end

Private Instance Methods

http_request() click to toggle source
# File lib/http_stub/client/request.rb, line 28
def http_request
  http_request_class = Net::HTTP.const_get(@method.to_s.capitalize)
  http_request_class.new("/http_stub/#{@path}", @headers.stringify_keys).tap do |request|
    request.set_form_data(@parameters) if @parameters
  end
end