Method: Elk::Client#execute

Defined in:
lib/elk/client.rb

#execute(method, path, parameters, headers = { accept: :json }, &block) ⇒ Object

Wrapper around RestClient::RestClient.execute

  • Sets accept header to json

  • Handles some exceptions



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/elk/client.rb', line 57

def execute(method, path, parameters, headers = { accept: :json }, &block)
  payload = {}.merge(parameters)
  url = base_url + path

  request_arguments = {
    method:  method,
    url:     url,
    payload: payload,
    headers: headers
  }

  RestClient::Request.execute(request_arguments, &block)
rescue RestClient::Unauthorized
  raise AuthError, "Authentication failed"
rescue RestClient::InternalServerError
  raise ServerError, "Server error"
rescue RestClient::Forbidden => e
  raise BadRequest, e.http_body
end