class Square::HttpClient
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.
Public Instance Methods
Converts the HTTP Response from the client to an HttpResponse
object. @param [Dynamic] The response object received from the client.
# File lib/square/http/http_client.rb, line 23 def convert_response(_response) raise NotImplementedError, 'This method needs to be implemented in a child class.' end
Get a DELETE HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The parameters for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 107 def delete(query_url, headers: {}, parameters: {}, context: {}) HttpRequest.new(HttpMethodEnum::DELETE, query_url, headers: headers, parameters: parameters, context: context) end
Execute an HttpRequest
when the response is expected to be binary. @param [HttpRequest] The HttpRequest
to be executed.
# File lib/square/http/http_client.rb, line 16 def execute_as_binary(_http_request) raise NotImplementedError, 'This method needs to be implemented in a child class.' end
Execute an HttpRequest
when the response is expected to be a string. @param [HttpRequest] The HttpRequest
to be executed.
# File lib/square/http/http_client.rb, line 9 def execute_as_string(_http_request) raise NotImplementedError, 'This method needs to be implemented in a child class.' end
Get a GET HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 32 def get(query_url, headers: {}, context: {}) HttpRequest.new(HttpMethodEnum::GET, query_url, headers: headers, context: context) end
Get a HEAD HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 45 def head(query_url, headers: {}, context: {}) HttpRequest.new(HttpMethodEnum::HEAD, query_url, headers: headers, context: context) end
Get a PATCH HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The parameters for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 91 def patch(query_url, headers: {}, parameters: {}, context: {}) HttpRequest.new(HttpMethodEnum::PATCH, query_url, headers: headers, parameters: parameters, context: context) end
Get a POST HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The parameters for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 59 def post(query_url, headers: {}, parameters: {}, context: {}) HttpRequest.new(HttpMethodEnum::POST, query_url, headers: headers, parameters: parameters, context: context) end
Get a PUT HttpRequest
object. @param [String] The URL to send the request to. @param [Hash, Optional] The headers for the HTTP Request. @param [Hash, Optional] The parameters for the HTTP Request. @param [Hash, Optional] The context for the HTTP Request.
# File lib/square/http/http_client.rb, line 75 def put(query_url, headers: {}, parameters: {}, context: {}) HttpRequest.new(HttpMethodEnum::PUT, query_url, headers: headers, parameters: parameters, context: context) end