Class: Algorithmia::Requester

Inherits:
Object
  • Object
show all
Includes:
HTTParty
Defined in:
lib/algorithmia/requester.rb

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ Requester

Returns a new instance of Requester.



8
9
10
11
12
13
14
15
# File 'lib/algorithmia/requester.rb', line 8

def initialize(client)
  @client = client
  @default_headers = {
    'Authorization' => @client.api_key || '',
    'Content-Type' => 'application/json',
    'User-Agent' => 'Algorithmia Ruby Client'
  }
end

Instance Method Details

#delete(endpoint, query: {}) ⇒ Object



54
55
56
57
58
# File 'lib/algorithmia/requester.rb', line 54

def delete(endpoint, query: {})
  response = self.class.delete(endpoint, query: query, headers: @default_headers)
  check_for_errors(response)
  response
end

#get(endpoint, query: {}, headers: {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/algorithmia/requester.rb', line 17

def get(endpoint, query: {}, headers: {})
  headers = merge_headers(headers)
  response = self.class.get(endpoint, query: query, headers: headers)
  check_for_errors(response)
  response
end

#head(endpoint) ⇒ Object



48
49
50
51
52
# File 'lib/algorithmia/requester.rb', line 48

def head(endpoint)
  response = self.class.head(endpoint, headers: @default_headers)
  check_for_errors(response)
  response
end

#post(endpoint, body, query: {}, headers: {}) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/algorithmia/requester.rb', line 24

def post(endpoint, body, query: {}, headers: {})
  headers = merge_headers(headers)

  if headers['Content-Type'] == 'application/json'
    body = body.to_json
  end

  response = self.class.post(endpoint, body: body, query: query, headers: headers)
  check_for_errors(response)
  response
end

#put(endpoint, body, query: {}, headers: {}) ⇒ Object



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

def put(endpoint, body, query: {}, headers: {})
  headers = merge_headers(headers)

  if headers['Content-Type'] == 'application/json'
    body = body.to_json
  end

  response = self.class.put(endpoint, body: body, query: query, headers: headers)
  check_for_errors(response)
  response
end