Class: Sumologic::Http::RequestBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/sumologic/http/request_builder.rb

Overview

Builds HTTP requests with proper headers, authentication, and cookies

Instance Method Summary collapse

Constructor Details

#initialize(base_url:, authenticator:, cookie_jar:) ⇒ RequestBuilder

Returns a new instance of RequestBuilder.



11
12
13
14
15
# File 'lib/sumologic/http/request_builder.rb', line 11

def initialize(base_url:, authenticator:, cookie_jar:)
  @base_url = base_url
  @authenticator = authenticator
  @cookie_jar = cookie_jar
end

Instance Method Details

#build_request(method, uri, body = nil) ⇒ Object

Build HTTP request with all necessary headers



25
26
27
28
29
30
# File 'lib/sumologic/http/request_builder.rb', line 25

def build_request(method, uri, body = nil)
  request = create_request_object(method, uri)
  add_headers(request)
  add_body(request, body) if body
  request
end

#build_uri(path, query_params = nil) ⇒ Object

Build complete URI from path and query parameters



18
19
20
21
22
# File 'lib/sumologic/http/request_builder.rb', line 18

def build_uri(path, query_params = nil)
  uri = URI("#{@base_url}#{path}")
  uri.query = URI.encode_www_form(query_params) if query_params
  uri
end