Class: QuickRequest::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/quick_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(method: :get, url: nil, use_ssl: false) ⇒ Builder

Returns a new instance of Builder.



11
12
13
14
15
16
17
18
# File 'lib/quick_request.rb', line 11

def initialize(method: :get, url: nil, use_ssl: false)
  @method = method
  @url = URI.parse(url) unless url.nil?
  @query_params = {}
  @body = nil
  @headers = {}
  @use_ssl = use_ssl
end

Instance Method Details

#body(content) ⇒ Object



25
26
27
28
# File 'lib/quick_request.rb', line 25

def body(content)
  @body = content.is_a?(Hash) ? URI.encode_www_form(content) : content
  self
end

#headers(headers) ⇒ Object



30
31
32
33
# File 'lib/quick_request.rb', line 30

def headers(headers)
  @headers = headers
  self
end

#query_params(params) ⇒ Object



20
21
22
23
# File 'lib/quick_request.rb', line 20

def query_params(params)
  @query_params = params
  self
end

#sendObject



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/quick_request.rb', line 35

def send
  apply_query_params
  http = Net::HTTP.new(@url.host, @url.port)
  http.use_ssl = @use_ssl

  request = create_http_request
  add_headers_to_request(request)
  request.body = @body if @body

  response = http.request(request)
  response.body
end