Class: PeopleDoc::HTTPartyRequest

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

Instance Method Summary collapse

Constructor Details

#initialize(base_url, logger, response_handlers = []) ⇒ HTTPartyRequest

Returns a new instance of HTTPartyRequest.



8
9
10
11
12
# File 'lib/people_doc/httparty_request.rb', line 8

def initialize(base_url, logger, response_handlers = [])
  @base_url = base_url
  @logger = logger
  @response_handlers = response_handlers
end

Instance Method Details

#get(headers, resource) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/people_doc/httparty_request.rb', line 14

def get(headers, resource)
  url = "#{@base_url}/#{resource}"

  @logger.debug("GET request Url: #{url}")
  @logger.debug("-- Headers: #{headers}")

  raises_unless_success do
    HTTParty
      .get(url, headers: headers)
  end.parsed_response
end

#perform_request(headers, resource, payload) ⇒ Object Also known as: put, post



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/people_doc/httparty_request.rb', line 26

def perform_request(headers, resource, payload)
  http_method = __callee__
  url = "#{@base_url}/#{resource}"

  @logger.debug("#{http_method.upcase} request Url: #{url}")
  @logger.debug("-- Headers: #{headers}")
  @logger.debug("-- Payload: #{payload}")

  raises_unless_success do
    HTTParty
      .send(http_method.to_sym, url, body: payload, headers: headers)
  end.parsed_response
end

#post_file(headers, resource, payload) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/people_doc/httparty_request.rb', line 42

def post_file(headers, resource, payload)
  http_method = 'post'
  url = "#{@base_url}/#{resource}"

  @logger.debug("#{http_method.upcase} request Url: #{url} (POST file)")
  @logger.debug("-- Headers: #{headers}")
  @logger.debug("-- Payload: #{payload}")

  raises_unless_success do
    HTTParty.post(url, body: payload, headers: headers)
  end.parsed_response
end