Module: ADN::API
- Defined in:
- lib/adn/api.rb,
lib/adn/api/file.rb,
lib/adn/api/post.rb,
lib/adn/api/user.rb,
lib/adn/api/token.rb,
lib/adn/api/filter.rb,
lib/adn/api/stream.rb,
lib/adn/api/message.rb,
lib/adn/api/response.rb,
lib/adn/api/subscription.rb
Defined Under Namespace
Modules: File, Filter, Message, Post, Stream, Subscription, Token, User
Classes: Response
Constant Summary
collapse
- Error =
Class.new StandardError
Class Method Summary
collapse
Class Method Details
.construct_request(verb, url) ⇒ Object
21
22
23
24
25
26
27
28
29
|
# File 'lib/adn/api.rb', line 21
def construct_request(verb, url)
http_method = case verb
when :post then Net::HTTP::Post
when :put then Net::HTTP::Put
when :delete then Net::HTTP::Delete
else Net::HTTP::Get
end
http_method.new(url)
end
|
.delete(url) ⇒ Object
56
57
58
59
|
# File 'lib/adn/api.rb', line 56
def delete(url)
request = construct_request(:delete, url)
perform(request)
end
|
.get(url, params = nil) ⇒ Object
31
32
33
34
35
|
# File 'lib/adn/api.rb', line 31
def get(url, params = nil)
url = params.nil? ? url : [url, URI.encode_www_form(params)].join("?")
request = construct_request(:get, url)
perform(request)
end
|
12
13
14
15
16
17
18
19
|
# File 'lib/adn/api.rb', line 12
def perform(request)
request.add_field("Authorization", "Bearer #{ADN.token}")
response = JSON.parse ADN::HTTP.request(request).body
Response.new(response).tap { |r|
raise ADN::API::Error, r.error_message if r.has_error?
}
end
|
.post(url, params = nil) ⇒ Object
37
38
39
40
41
42
|
# File 'lib/adn/api.rb', line 37
def post(url, params = nil)
request = construct_request(:post, url)
request.add_field('Content-Type', 'application/json')
request.body = params.to_json if params
perform(request)
end
|
.post_multipart(url, *http_args) ⇒ Object
44
45
46
47
|
# File 'lib/adn/api.rb', line 44
def post_multipart(url, *http_args)
request = Net::HTTP::Post::Multipart.new(url, *http_args)
perform(request)
end
|
.put(url, params = nil) ⇒ Object
49
50
51
52
53
54
|
# File 'lib/adn/api.rb', line 49
def put(url, params = nil)
request = construct_request(:put, url)
request.add_field('Content-Type', 'application/json')
request.body = params.to_json if params
perform(request)
end
|