Class: Square::HttpClient

Inherits:
Object
  • Object
show all
Defined in:
lib/square/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

FaradayClient

Instance Method Summary collapse

Instance Method Details

#convert_response(_response) ⇒ Object

Converts the HTTP Response from the client to an HttpResponse object.

Parameters:

  • The (Dynamic)

    response object received from the client.

Raises:

  • (NotImplementedError)


23
24
25
26
# 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

#delete(query_url, headers: {}, parameters: {}, context: {}) ⇒ Object

Get a DELETE HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    parameters for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



107
108
109
110
111
112
113
114
115
116
# 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_as_binary(_http_request) ⇒ Object

Execute an HttpRequest when the response is expected to be binary.

Parameters:

Raises:

  • (NotImplementedError)


16
17
18
19
# 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_as_string(_http_request) ⇒ Object

Execute an HttpRequest when the response is expected to be a string.

Parameters:

Raises:

  • (NotImplementedError)


9
10
11
12
# 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(query_url, headers: {}, context: {}) ⇒ Object

Get a GET HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



32
33
34
35
36
37
38
39
# 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

#head(query_url, headers: {}, context: {}) ⇒ Object

Get a HEAD HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



45
46
47
48
49
50
51
52
# 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

#patch(query_url, headers: {}, parameters: {}, context: {}) ⇒ Object

Get a PATCH HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    parameters for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



91
92
93
94
95
96
97
98
99
100
# 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

#post(query_url, headers: {}, parameters: {}, context: {}) ⇒ Object

Get a POST HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    parameters for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



59
60
61
62
63
64
65
66
67
68
# 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

#put(query_url, headers: {}, parameters: {}, context: {}) ⇒ Object

Get a PUT HttpRequest object.

Parameters:

  • The (String)

    URL to send the request to.

  • The (Hash, Optional)

    headers for the HTTP Request.

  • The (Hash, Optional)

    parameters for the HTTP Request.

  • The (Hash, Optional)

    context for the HTTP Request.



75
76
77
78
79
80
81
82
83
84
# 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