Class: SuggestGrid::HttpClient
- Inherits:
-
Object
- Object
- SuggestGrid::HttpClient
- Defined in:
- lib/suggestgrid/http/http_client.rb
Overview
An interface for the methods that an HTTP Client must implement.
This class should not be instantiated but should be used as a base class for HTTP Client classes.
Direct Known Subclasses
Instance Method Summary collapse
-
#convert_response(_response) ⇒ Object
Converts the HTTP Response from the client to an HttpResponse object.
-
#delete(query_url, headers: {}, parameters: {}) ⇒ Object
Get a DELETE HttpRequest object.
-
#execute_as_binary(_http_request) ⇒ Object
Execute an HttpRequest when the response is expected to be binary.
-
#execute_as_string(_http_request) ⇒ Object
Execute an HttpRequest when the response is expected to be a string.
-
#get(query_url, headers: {}) ⇒ Object
Get a GET HttpRequest object.
-
#head(query_url, headers: {}) ⇒ Object
Get a HEAD HttpRequest object.
-
#patch(query_url, headers: {}, parameters: {}) ⇒ Object
Get a PATCH HttpRequest object.
-
#post(query_url, headers: {}, parameters: {}) ⇒ Object
Get a POST HttpRequest object.
-
#put(query_url, headers: {}, parameters: {}) ⇒ Object
Get a PUT HttpRequest object.
Instance Method Details
#convert_response(_response) ⇒ Object
Converts the HTTP Response from the client to an HttpResponse object.
26 27 28 29 |
# File 'lib/suggestgrid/http/http_client.rb', line 26 def convert_response(_response) raise NotImplementedError, 'This method needs to be implemented in a child class.' end |
#delete(query_url, headers: {}, parameters: {}) ⇒ Object
Get a DELETE HttpRequest object.
93 94 95 96 97 98 99 100 |
# File 'lib/suggestgrid/http/http_client.rb', line 93 def delete(query_url, headers: {}, parameters: {}) HttpRequest.new(HttpMethodEnum::DELETE, query_url, headers: headers, parameters: parameters) end |
#execute_as_binary(_http_request) ⇒ Object
Execute an HttpRequest when the response is expected to be binary.
19 20 21 22 |
# File 'lib/suggestgrid/http/http_client.rb', line 19 def execute_as_binary(_http_request) raise NotImplementedError, 'This method needs to be implemented in a child class.' end |
#execute_as_string(_http_request) ⇒ Object
Execute an HttpRequest when the response is expected to be a string.
12 13 14 15 |
# File 'lib/suggestgrid/http/http_client.rb', line 12 def execute_as_string(_http_request) raise NotImplementedError, 'This method needs to be implemented in a child class.' end |
#get(query_url, headers: {}) ⇒ Object
Get a GET HttpRequest object.
34 35 36 37 38 39 |
# File 'lib/suggestgrid/http/http_client.rb', line 34 def get(query_url, headers: {}) HttpRequest.new(HttpMethodEnum::GET, query_url, headers: headers) end |
#head(query_url, headers: {}) ⇒ Object
Get a HEAD HttpRequest object.
44 45 46 47 48 49 |
# File 'lib/suggestgrid/http/http_client.rb', line 44 def head(query_url, headers: {}) HttpRequest.new(HttpMethodEnum::HEAD, query_url, headers: headers) end |
#patch(query_url, headers: {}, parameters: {}) ⇒ Object
Get a PATCH HttpRequest object.
81 82 83 84 85 86 87 88 |
# File 'lib/suggestgrid/http/http_client.rb', line 81 def patch(query_url, headers: {}, parameters: {}) HttpRequest.new(HttpMethodEnum::PATCH, query_url, headers: headers, parameters: parameters) end |
#post(query_url, headers: {}, parameters: {}) ⇒ Object
Get a POST HttpRequest object.
55 56 57 58 59 60 61 62 |
# File 'lib/suggestgrid/http/http_client.rb', line 55 def post(query_url, headers: {}, parameters: {}) HttpRequest.new(HttpMethodEnum::POST, query_url, headers: headers, parameters: parameters) end |
#put(query_url, headers: {}, parameters: {}) ⇒ Object
Get a PUT HttpRequest object.
68 69 70 71 72 73 74 75 |
# File 'lib/suggestgrid/http/http_client.rb', line 68 def put(query_url, headers: {}, parameters: {}) HttpRequest.new(HttpMethodEnum::PUT, query_url, headers: headers, parameters: parameters) end |