Class: Plivo::BaseClient
- Inherits:
-
Object
- Object
- Plivo::BaseClient
- Defined in:
- lib/plivo/base_client.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#auth_credentials ⇒ Object
readonly
Base stuff.
-
#headers ⇒ Object
readonly
Base stuff.
Instance Method Summary collapse
- #auth_id ⇒ Object
-
#initialize(auth_id = nil, auth_token = nil, proxy_options = nil, timeout = 5) ⇒ BaseClient
constructor
A new instance of BaseClient.
- #process_response(method, response) ⇒ Object
- #send_request(resource_path, method = 'GET', data = {}, timeout = nil, use_multipart_conn = false) ⇒ Object
Constructor Details
#initialize(auth_id = nil, auth_token = nil, proxy_options = nil, timeout = 5) ⇒ BaseClient
Returns a new instance of BaseClient.
17 18 19 20 21 22 23 |
# File 'lib/plivo/base_client.rb', line 17 def initialize(auth_id = nil, auth_token = nil, = nil, timeout=5) configure_credentials(auth_id, auth_token) configure_proxies() configure_timeout(timeout) configure_headers configure_connection end |
Instance Attribute Details
#auth_credentials ⇒ Object (readonly)
Base stuff
15 16 17 |
# File 'lib/plivo/base_client.rb', line 15 def auth_credentials @auth_credentials end |
#headers ⇒ Object (readonly)
Base stuff
15 16 17 |
# File 'lib/plivo/base_client.rb', line 15 def headers @headers end |
Instance Method Details
#auth_id ⇒ Object
25 26 27 |
# File 'lib/plivo/base_client.rb', line 25 def auth_id @auth_credentials[:auth_id] end |
#process_response(method, response) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/plivo/base_client.rb', line 29 def process_response(method, response) handle_response_exceptions(response) if method == 'DELETE' if !([200, 204].include? response[:status]) raise Exceptions::PlivoRESTError, "Resource at #{response[:url]} "\ 'couldn\'t be deleted' end elsif !([200, 201, 202, 207].include? response[:status]) raise Exceptions::PlivoRESTError, "Received #{response[:status]} for #{method}" end response[:body] end |
#send_request(resource_path, method = 'GET', data = {}, timeout = nil, use_multipart_conn = false) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/plivo/base_client.rb', line 43 def send_request(resource_path, method = 'GET', data = {}, timeout = nil, use_multipart_conn = false) timeout ||= @timeout response = case method when 'GET' then send_get(resource_path, data, timeout) when 'POST' then send_post(resource_path, data, timeout, use_multipart_conn) when 'DELETE' then send_delete(resource_path, timeout) else raise_invalid_request("#{method} not supported by Plivo, yet") end process_response(method, response.to_hash) end |