Class: Qtc::Client
- Inherits:
-
Object
- Object
- Qtc::Client
- Defined in:
- lib/qtc/client.rb
Instance Attribute Summary collapse
-
#default_headers ⇒ Object
Returns the value of attribute default_headers.
-
#http_client ⇒ Object
readonly
Returns the value of attribute http_client.
Instance Method Summary collapse
-
#delete(path, body = nil, params = {}, headers = {}) ⇒ Hash
Delete request.
-
#get(path, params = nil, headers = {}) ⇒ Hash
Get request.
-
#initialize(api_url, default_headers = {}) ⇒ Client
constructor
Initialize api client.
-
#post(path, obj, params = {}, headers = {}) ⇒ Hash
Post request.
-
#put(path, obj, params = {}, headers = {}) ⇒ Hash
Put request.
Constructor Details
#initialize(api_url, default_headers = {}) ⇒ Client
Initialize api client
15 16 17 18 19 |
# File 'lib/qtc/client.rb', line 15 def initialize(api_url, default_headers = {}) @http_client = HTTPClient.new @default_headers = {'Accept' => 'application/json', 'Content-Type' => 'application/json'}.merge(default_headers) @api_url = api_url end |
Instance Attribute Details
#default_headers ⇒ Object
Returns the value of attribute default_headers.
8 9 10 |
# File 'lib/qtc/client.rb', line 8 def default_headers @default_headers end |
#http_client ⇒ Object (readonly)
Returns the value of attribute http_client.
9 10 11 |
# File 'lib/qtc/client.rb', line 9 def http_client @http_client end |
Instance Method Details
#delete(path, body = nil, params = {}, headers = {}) ⇒ Hash
Delete request
87 88 89 90 91 92 93 94 95 96 97 98 99 100 |
# File 'lib/qtc/client.rb', line 87 def delete(path, body = nil, params = {}, headers = {}) request_headers = request_headers(headers) = { header: request_headers, body: encode_body(body, request_headers['Content-Type']), query: params } response = http_client.delete(request_uri(path), ) if response.status == 200 parse_response(response) else handle_error_response(response) end end |
#get(path, params = nil, headers = {}) ⇒ Hash
Get request
26 27 28 29 30 31 32 33 |
# File 'lib/qtc/client.rb', line 26 def get(path, params = nil, headers = {}) response = http_client.get(request_uri(path), params, request_headers(headers)) if response.status == 200 parse_response(response) else handle_error_response(response) end end |
#post(path, obj, params = {}, headers = {}) ⇒ Hash
Post request
42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/qtc/client.rb', line 42 def post(path, obj, params = {}, headers = {}) request_headers = request_headers(headers) = { header: request_headers, body: encode_body(obj, request_headers['Content-Type']), query: params } response = http_client.post(request_uri(path), ) if [200, 201].include?(response.status) parse_response(response) else handle_error_response(response) end end |
#put(path, obj, params = {}, headers = {}) ⇒ Hash
Put request
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/qtc/client.rb', line 64 def put(path, obj, params = {}, headers = {}) request_headers = request_headers(headers) = { header: request_headers, body: encode_body(obj, request_headers['Content-Type']), query: params } response = http_client.put(request_uri(path), ) if [200, 201].include?(response.status) parse_response(response) else handle_error_response(response) end end |