class Reynard::Http::Request

Configures and performs an HTTP request.

Attributes

uri[R]

Public Class Methods

new(request_context:) click to toggle source
# File lib/reynard/http/request.rb, line 12
def initialize(request_context:)
  @request_context = request_context
  @uri = URI(@request_context.url)
end

Public Instance Methods

perform() click to toggle source
# File lib/reynard/http/request.rb, line 17
def perform
  Reynard.http.request(uri, build_request)
end

Private Instance Methods

build_http_get() click to toggle source
# File lib/reynard/http/request.rb, line 32
def build_http_get
  Net::HTTP::Get.new(uri, @request_context.headers)
end
build_http_post() click to toggle source
# File lib/reynard/http/request.rb, line 36
def build_http_post
  post = Net::HTTP::Post.new(uri, @request_context.headers)
  post.body = @request_context.body
  post
end
build_request() click to toggle source
# File lib/reynard/http/request.rb, line 23
def build_request
  case @request_context.verb
  when 'get'
    build_http_get
  when 'post'
    build_http_post
  end
end