Class: LifenFhir::Client

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

Direct Known Subclasses

AppAuthenticatedClient

Constant Summary collapse

LOGGED_INFO_STATUS =
[200, 201]

Instance Method Summary collapse

Instance Method Details

#get(url, params = {}) ⇒ Object



36
37
38
# File 'lib/lifen_fhir/client.rb', line 36

def get(url, params = {})
  request(:get, url, params)
end

#post(url, params = {}) ⇒ Object



28
29
30
# File 'lib/lifen_fhir/client.rb', line 28

def post(url, params = {})
  request(:post, url, params)
end

#put(url, params = {}) ⇒ Object



32
33
34
# File 'lib/lifen_fhir/client.rb', line 32

def put(url, params = {})
  request(:put, url, params)
end

#request(mode, url, params = {}) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/lifen_fhir/client.rb', line 6

def request(mode, url, params = {})
  before_request

  response = faraday_client.send(mode) do |req|
    req.url url

    req.headers['Authorization']      = "Bearer #{bearer}"
    req.headers['Accept']             =  use_and_remove_accept(params)

    if mode == :post
      req.headers['Content-Type']     = "application/json"
    end

    req.body = JSON.generate(params)
  end

  handle_logger(response)
  handle_errors(response, params)

  handle_response(response)
end