Class: Recurly::API
- Inherits:
-
Object
show all
- Extended by:
- Net::HTTPAdapter
- Defined in:
- lib/recurly/api.rb,
lib/recurly/api/errors.rb,
lib/recurly/api/net_http_adapter.rb
Overview
The API class handles all requests to the Recurly API. While most of its functionality is leveraged by the Resource class, it can be used directly, as well.
Requests are made with methods named after the four main HTTP verbs recognized by the Recurly API.
Defined Under Namespace
Modules: Net
Classes: BadRequest, ClientError, Forbidden, GatewayError, InternalServerError, MethodNotAllowed, NotAcceptable, NotFound, NotModified, PaymentRequired, PreconditionFailed, Redirection, ResponseError, ServerError, ServiceUnavailable, Unauthorized, UnprocessableEntity, UnsupportedMediaType
Constant Summary
collapse
- FORMATS =
Helper.hash_with_indifferent_read_access(
'pdf' => 'application/pdf',
'xml' => 'application/xml'
)
- ERRORS =
Error mapping by status code.
Hash.new { |hash, code|
unless hash.key? code
case code
when 400...500 then ClientError
when 500...600 then ServerError
else ResponseError
end
end
}.update(
304 => NotModified,
400 => BadRequest,
401 => Unauthorized,
402 => PaymentRequired,
403 => Forbidden,
404 => NotFound,
406 => NotAcceptable,
412 => PreconditionFailed,
415 => UnsupportedMediaType,
422 => UnprocessableEntity,
500 => InternalServerError,
502 => GatewayError,
503 => ServiceUnavailable
).freeze
- @@base_uri =
"https://api.recurly.com/v2/"
Instance Attribute Summary
#net_http
Class Method Summary
collapse
-
.accept_language ⇒ String?
Accept-Language header value.
-
.accept_language=(language) ⇒ Object
-
.base_uri ⇒ URI::Generic
-
.delete(uri, options = {}) ⇒ Net::HTTPNoContent, Net::HTTPResponse
-
.get(uri, params = {}, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
-
.head(uri, params = {}, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
-
.headers ⇒ Hash{String => String}
Additional HTTP headers sent with each API call.
-
.post(uri, body = nil, options = {}) ⇒ Net::HTTPCreated, Net::HTTPResponse
-
.put(uri, body = nil, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
-
.user_agent ⇒ String
Class Method Details
.accept_language ⇒ String?
Returns Accept-Language header value.
32
33
34
|
# File 'lib/recurly/api.rb', line 32
def accept_language
['Accept-Language']
end
|
.accept_language=(language) ⇒ Object
37
38
39
|
# File 'lib/recurly/api.rb', line 37
def accept_language=(language)
['Accept-Language'] = language
end
|
.base_uri ⇒ URI::Generic
72
73
74
|
# File 'lib/recurly/api.rb', line 72
def base_uri
URI.parse @@base_uri
end
|
.delete(uri, options = {}) ⇒ Net::HTTPNoContent, Net::HTTPResponse
67
68
69
|
# File 'lib/recurly/api.rb', line 67
def delete uri, options = {}
request :delete, uri, options
end
|
.get(uri, params = {}, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
49
50
51
|
# File 'lib/recurly/api.rb', line 49
def get uri, params = {}, options = {}
request :get, uri, { :params => params }.merge(options)
end
|
.head(uri, params = {}, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
43
44
45
|
# File 'lib/recurly/api.rb', line 43
def head uri, params = {}, options = {}
request :head, uri, { :params => params }.merge(options)
end
|
Additional HTTP headers sent with each API call
27
28
29
|
# File 'lib/recurly/api.rb', line 27
def
@headers ||= { 'Accept' => accept, 'User-Agent' => user_agent }
end
|
.post(uri, body = nil, options = {}) ⇒ Net::HTTPCreated, Net::HTTPResponse
55
56
57
|
# File 'lib/recurly/api.rb', line 55
def post uri, body = nil, options = {}
request :post, uri, { :body => body.to_s }.merge(options)
end
|
.put(uri, body = nil, options = {}) ⇒ Net::HTTPOK, Net::HTTPResponse
61
62
63
|
# File 'lib/recurly/api.rb', line 61
def put uri, body = nil, options = {}
request :put, uri, { :body => body.to_s }.merge(options)
end
|
.user_agent ⇒ String
77
78
79
|
# File 'lib/recurly/api.rb', line 77
def user_agent
"Recurly/#{Version}; #{RUBY_DESCRIPTION}"
end
|