suggestgrid 0.1.15.pre.SNAPSHOT
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +28 -0
- data/README.md +104 -0
- data/lib/suggest_grid/api_helper.rb +151 -0
- data/lib/suggest_grid/configuration.rb +21 -0
- data/lib/suggest_grid/controllers/action_controller.rb +257 -0
- data/lib/suggest_grid/controllers/base_controller.rb +20 -0
- data/lib/suggest_grid/controllers/metadata_controller.rb +527 -0
- data/lib/suggest_grid/controllers/recommendation_controller.rb +119 -0
- data/lib/suggest_grid/controllers/similarity_controller.rb +119 -0
- data/lib/suggest_grid/controllers/type_controller.rb +280 -0
- data/lib/suggest_grid/exceptions/api_exception.rb +16 -0
- data/lib/suggest_grid/http/http_call_back.rb +17 -0
- data/lib/suggest_grid/http/http_client.rb +112 -0
- data/lib/suggest_grid/http/http_context.rb +15 -0
- data/lib/suggest_grid/http/http_method_enum.rb +7 -0
- data/lib/suggest_grid/http/http_request.rb +28 -0
- data/lib/suggest_grid/http/http_response.rb +19 -0
- data/lib/suggest_grid/http/unirest_client.rb +41 -0
- data/lib/suggest_grid/models/action.rb +66 -0
- data/lib/suggest_grid/models/bulk_schema_error_response.rb +53 -0
- data/lib/suggest_grid/models/count_response.rb +39 -0
- data/lib/suggest_grid/models/error_response.rb +48 -0
- data/lib/suggest_grid/models/get_recommended_items_body.rb +111 -0
- data/lib/suggest_grid/models/get_recommended_users_body.rb +111 -0
- data/lib/suggest_grid/models/get_similar_items_body.rb +102 -0
- data/lib/suggest_grid/models/get_similar_users_body.rb +102 -0
- data/lib/suggest_grid/models/get_type_response.rb +39 -0
- data/lib/suggest_grid/models/get_types_response.rb +48 -0
- data/lib/suggest_grid/models/items_response.rb +53 -0
- data/lib/suggest_grid/models/message_response.rb +39 -0
- data/lib/suggest_grid/models/metadata.rb +39 -0
- data/lib/suggest_grid/models/metadata_information_response.rb +39 -0
- data/lib/suggest_grid/models/schema_error_response.rb +57 -0
- data/lib/suggest_grid/models/type_request_body.rb +40 -0
- data/lib/suggest_grid/models/users_response.rb +53 -0
- data/lib/suggest_grid/suggest_grid_client.rb +47 -0
- data/lib/suggest_grid.rb +48 -0
- data/spec/swagger.yaml +1169 -0
- metadata +123 -0
@@ -0,0 +1,119 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class SimilarityController < BaseController
|
5
|
+
@@instance = SimilarityController.new
|
6
|
+
# Singleton instance of the controller class
|
7
|
+
def self.instance
|
8
|
+
@@instance
|
9
|
+
end
|
10
|
+
|
11
|
+
# Get Similar Users
|
12
|
+
# @param [GetSimilarUsersBody] body Required parameter: Similar users method parameters.
|
13
|
+
# @return UsersResponse response from the API call
|
14
|
+
def get_similar_users(body)
|
15
|
+
# the base uri for api requests
|
16
|
+
_query_builder = Configuration.base_uri.dup
|
17
|
+
|
18
|
+
# prepare query string for API call
|
19
|
+
_query_builder << '/v1/similar/users'
|
20
|
+
|
21
|
+
# validate and preprocess url
|
22
|
+
_query_url = APIHelper.clean_url _query_builder
|
23
|
+
|
24
|
+
# prepare headers
|
25
|
+
_headers = {
|
26
|
+
'user-agent' => 'SUGGESTGRID',
|
27
|
+
'accept' => 'application/json',
|
28
|
+
'content-type' => 'application/json; charset=utf-8'
|
29
|
+
}
|
30
|
+
|
31
|
+
# Create the HttpRequest object for the call
|
32
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
33
|
+
|
34
|
+
# Call the on_before_request callback
|
35
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
36
|
+
|
37
|
+
# Invoke the API call and get the response
|
38
|
+
_response = @http_client.execute_as_string(_request)
|
39
|
+
|
40
|
+
# Wrap the request and response in an HttpContext object
|
41
|
+
_context = HttpContext.new(_request, _response)
|
42
|
+
|
43
|
+
# Call the on_after_response callback
|
44
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
45
|
+
|
46
|
+
# Endpoint error handling using HTTP status codes.
|
47
|
+
if _response.status_code == 400
|
48
|
+
raise APIException.new '400 - Request body is invalid.', _context
|
49
|
+
elsif _response.status_code == 422
|
50
|
+
raise APIException.new '422 - Required parameters are missing.', _context
|
51
|
+
elsif _response.status_code == 429
|
52
|
+
raise APIException.new '429 - Too many requests.', _context
|
53
|
+
elsif _response.status_code == 500
|
54
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
55
|
+
end
|
56
|
+
|
57
|
+
# Global error handling using HTTP status codes.
|
58
|
+
validate_response(_context)
|
59
|
+
|
60
|
+
# Return appropriate response type
|
61
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
62
|
+
return UsersResponse.from_hash(decoded)
|
63
|
+
end
|
64
|
+
|
65
|
+
# Get Similar Items
|
66
|
+
# @param [GetSimilarItemsBody] body Required parameter: Similar items method parameter.
|
67
|
+
# @return ItemsResponse response from the API call
|
68
|
+
def get_similar_items(body)
|
69
|
+
# the base uri for api requests
|
70
|
+
_query_builder = Configuration.base_uri.dup
|
71
|
+
|
72
|
+
# prepare query string for API call
|
73
|
+
_query_builder << '/v1/similar/items'
|
74
|
+
|
75
|
+
# validate and preprocess url
|
76
|
+
_query_url = APIHelper.clean_url _query_builder
|
77
|
+
|
78
|
+
# prepare headers
|
79
|
+
_headers = {
|
80
|
+
'user-agent' => 'SUGGESTGRID',
|
81
|
+
'accept' => 'application/json',
|
82
|
+
'content-type' => 'application/json; charset=utf-8'
|
83
|
+
}
|
84
|
+
|
85
|
+
# Create the HttpRequest object for the call
|
86
|
+
_request = @http_client.post _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
87
|
+
|
88
|
+
# Call the on_before_request callback
|
89
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
90
|
+
|
91
|
+
# Invoke the API call and get the response
|
92
|
+
_response = @http_client.execute_as_string(_request)
|
93
|
+
|
94
|
+
# Wrap the request and response in an HttpContext object
|
95
|
+
_context = HttpContext.new(_request, _response)
|
96
|
+
|
97
|
+
# Call the on_after_response callback
|
98
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
99
|
+
|
100
|
+
# Endpoint error handling using HTTP status codes.
|
101
|
+
if _response.status_code == 400
|
102
|
+
raise APIException.new '400 - Request body is invalid.', _context
|
103
|
+
elsif _response.status_code == 422
|
104
|
+
raise APIException.new '422 - Required parameters are missing.', _context
|
105
|
+
elsif _response.status_code == 429
|
106
|
+
raise APIException.new '429 - Too many requests.', _context
|
107
|
+
elsif _response.status_code == 500
|
108
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
109
|
+
end
|
110
|
+
|
111
|
+
# Global error handling using HTTP status codes.
|
112
|
+
validate_response(_context)
|
113
|
+
|
114
|
+
# Return appropriate response type
|
115
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
116
|
+
return ItemsResponse.from_hash(decoded)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
@@ -0,0 +1,280 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class TypeController < BaseController
|
5
|
+
@@instance = TypeController.new
|
6
|
+
# Singleton instance of the controller class
|
7
|
+
def self.instance
|
8
|
+
@@instance
|
9
|
+
end
|
10
|
+
|
11
|
+
# Get All Types
|
12
|
+
# @return GetTypesResponse response from the API call
|
13
|
+
def get_all_types
|
14
|
+
# the base uri for api requests
|
15
|
+
_query_builder = Configuration.base_uri.dup
|
16
|
+
|
17
|
+
# prepare query string for API call
|
18
|
+
_query_builder << '/v1/types'
|
19
|
+
|
20
|
+
# validate and preprocess url
|
21
|
+
_query_url = APIHelper.clean_url _query_builder
|
22
|
+
|
23
|
+
# prepare headers
|
24
|
+
_headers = {
|
25
|
+
'user-agent' => 'SUGGESTGRID',
|
26
|
+
'accept' => 'application/json'
|
27
|
+
}
|
28
|
+
|
29
|
+
# Create the HttpRequest object for the call
|
30
|
+
_request = @http_client.get _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
31
|
+
|
32
|
+
# Call the on_before_request callback
|
33
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
34
|
+
|
35
|
+
# Invoke the API call and get the response
|
36
|
+
_response = @http_client.execute_as_string(_request)
|
37
|
+
|
38
|
+
# Wrap the request and response in an HttpContext object
|
39
|
+
_context = HttpContext.new(_request, _response)
|
40
|
+
|
41
|
+
# Call the on_after_response callback
|
42
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
43
|
+
|
44
|
+
# Endpoint error handling using HTTP status codes.
|
45
|
+
if _response.status_code == 429
|
46
|
+
raise APIException.new '429 - Too many requests.', _context
|
47
|
+
elsif _response.status_code == 500
|
48
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
49
|
+
end
|
50
|
+
|
51
|
+
# Global error handling using HTTP status codes.
|
52
|
+
validate_response(_context)
|
53
|
+
|
54
|
+
# Return appropriate response type
|
55
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
56
|
+
return GetTypesResponse.from_hash(decoded)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Delete All Types
|
60
|
+
# @return GetTypesResponse response from the API call
|
61
|
+
def delete_all_types
|
62
|
+
# the base uri for api requests
|
63
|
+
_query_builder = Configuration.base_uri.dup
|
64
|
+
|
65
|
+
# prepare query string for API call
|
66
|
+
_query_builder << '/v1/types'
|
67
|
+
|
68
|
+
# validate and preprocess url
|
69
|
+
_query_url = APIHelper.clean_url _query_builder
|
70
|
+
|
71
|
+
# prepare headers
|
72
|
+
_headers = {
|
73
|
+
'user-agent' => 'SUGGESTGRID',
|
74
|
+
'accept' => 'application/json'
|
75
|
+
}
|
76
|
+
|
77
|
+
# Create the HttpRequest object for the call
|
78
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
79
|
+
|
80
|
+
# Call the on_before_request callback
|
81
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
82
|
+
|
83
|
+
# Invoke the API call and get the response
|
84
|
+
_response = @http_client.execute_as_string(_request)
|
85
|
+
|
86
|
+
# Wrap the request and response in an HttpContext object
|
87
|
+
_context = HttpContext.new(_request, _response)
|
88
|
+
|
89
|
+
# Call the on_after_response callback
|
90
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
91
|
+
|
92
|
+
# Endpoint error handling using HTTP status codes.
|
93
|
+
if _response.status_code == 429
|
94
|
+
raise APIException.new '429 - Too many requests.', _context
|
95
|
+
elsif _response.status_code == 500
|
96
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
97
|
+
end
|
98
|
+
|
99
|
+
# Global error handling using HTTP status codes.
|
100
|
+
validate_response(_context)
|
101
|
+
|
102
|
+
# Return appropriate response type
|
103
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
104
|
+
return GetTypesResponse.from_hash(decoded)
|
105
|
+
end
|
106
|
+
|
107
|
+
# Get Properties of a Type
|
108
|
+
# @param [String] type Required parameter: The name of the type to get properties.
|
109
|
+
# @return GetTypeResponse response from the API call
|
110
|
+
def get_type(type)
|
111
|
+
# the base uri for api requests
|
112
|
+
_query_builder = Configuration.base_uri.dup
|
113
|
+
|
114
|
+
# prepare query string for API call
|
115
|
+
_query_builder << '/v1/types/{type}'
|
116
|
+
|
117
|
+
# process optional query parameters
|
118
|
+
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
119
|
+
'type' => type
|
120
|
+
}
|
121
|
+
|
122
|
+
# validate and preprocess url
|
123
|
+
_query_url = APIHelper.clean_url _query_builder
|
124
|
+
|
125
|
+
# prepare headers
|
126
|
+
_headers = {
|
127
|
+
'user-agent' => 'SUGGESTGRID',
|
128
|
+
'accept' => 'application/json'
|
129
|
+
}
|
130
|
+
|
131
|
+
# Create the HttpRequest object for the call
|
132
|
+
_request = @http_client.get _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
133
|
+
|
134
|
+
# Call the on_before_request callback
|
135
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
136
|
+
|
137
|
+
# Invoke the API call and get the response
|
138
|
+
_response = @http_client.execute_as_string(_request)
|
139
|
+
|
140
|
+
# Wrap the request and response in an HttpContext object
|
141
|
+
_context = HttpContext.new(_request, _response)
|
142
|
+
|
143
|
+
# Call the on_after_response callback
|
144
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
145
|
+
|
146
|
+
# Endpoint error handling using HTTP status codes.
|
147
|
+
if _response.status_code == 429
|
148
|
+
raise APIException.new '429 - Too many requests.', _context
|
149
|
+
elsif _response.status_code == 500
|
150
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
151
|
+
end
|
152
|
+
|
153
|
+
# Global error handling using HTTP status codes.
|
154
|
+
validate_response(_context)
|
155
|
+
|
156
|
+
# Return appropriate response type
|
157
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
158
|
+
return GetTypeResponse.from_hash(decoded)
|
159
|
+
end
|
160
|
+
|
161
|
+
# Create a New Type
|
162
|
+
# @param [String] type Required parameter: The name of the type to be created.
|
163
|
+
# @param [TypeRequestBody] body Optional parameter: Optional body for the rating parameter.
|
164
|
+
# @return MessageResponse response from the API call
|
165
|
+
def create_type(type,
|
166
|
+
body = nil)
|
167
|
+
# the base uri for api requests
|
168
|
+
_query_builder = Configuration.base_uri.dup
|
169
|
+
|
170
|
+
# prepare query string for API call
|
171
|
+
_query_builder << '/v1/types/{type}'
|
172
|
+
|
173
|
+
# process optional query parameters
|
174
|
+
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
175
|
+
'type' => type
|
176
|
+
}
|
177
|
+
|
178
|
+
# validate and preprocess url
|
179
|
+
_query_url = APIHelper.clean_url _query_builder
|
180
|
+
|
181
|
+
# prepare headers
|
182
|
+
_headers = {
|
183
|
+
'user-agent' => 'SUGGESTGRID',
|
184
|
+
'accept' => 'application/json',
|
185
|
+
'content-type' => 'application/json; charset=utf-8'
|
186
|
+
}
|
187
|
+
|
188
|
+
# Create the HttpRequest object for the call
|
189
|
+
_request = @http_client.put _query_url, headers: _headers, parameters: body.to_json, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
190
|
+
|
191
|
+
# Call the on_before_request callback
|
192
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
193
|
+
|
194
|
+
# Invoke the API call and get the response
|
195
|
+
_response = @http_client.execute_as_string(_request)
|
196
|
+
|
197
|
+
# Wrap the request and response in an HttpContext object
|
198
|
+
_context = HttpContext.new(_request, _response)
|
199
|
+
|
200
|
+
# Call the on_after_response callback
|
201
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
202
|
+
|
203
|
+
# Endpoint error handling using HTTP status codes.
|
204
|
+
if _response.status_code == 402
|
205
|
+
raise APIException.new '402 - Type limit reached.', _context
|
206
|
+
elsif _response.status_code == 409
|
207
|
+
raise APIException.new '409 - Type already exists.', _context
|
208
|
+
elsif _response.status_code == 422
|
209
|
+
raise APIException.new '422 - Rating type is not `implicit` or `explicit`.', _context
|
210
|
+
elsif _response.status_code == 429
|
211
|
+
raise APIException.new '429 - Too many requests.', _context
|
212
|
+
elsif _response.status_code == 500
|
213
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
214
|
+
end
|
215
|
+
|
216
|
+
# Global error handling using HTTP status codes.
|
217
|
+
validate_response(_context)
|
218
|
+
|
219
|
+
# Return appropriate response type
|
220
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
221
|
+
return MessageResponse.from_hash(decoded)
|
222
|
+
end
|
223
|
+
|
224
|
+
# Delete a Type
|
225
|
+
# @param [String] type Required parameter: The name of the type to be deleted.
|
226
|
+
# @return MessageResponse response from the API call
|
227
|
+
def delete_type(type)
|
228
|
+
# the base uri for api requests
|
229
|
+
_query_builder = Configuration.base_uri.dup
|
230
|
+
|
231
|
+
# prepare query string for API call
|
232
|
+
_query_builder << '/v1/types/{type}'
|
233
|
+
|
234
|
+
# process optional query parameters
|
235
|
+
_query_builder = APIHelper.append_url_with_template_parameters _query_builder, {
|
236
|
+
'type' => type
|
237
|
+
}
|
238
|
+
|
239
|
+
# validate and preprocess url
|
240
|
+
_query_url = APIHelper.clean_url _query_builder
|
241
|
+
|
242
|
+
# prepare headers
|
243
|
+
_headers = {
|
244
|
+
'user-agent' => 'SUGGESTGRID',
|
245
|
+
'accept' => 'application/json'
|
246
|
+
}
|
247
|
+
|
248
|
+
# Create the HttpRequest object for the call
|
249
|
+
_request = @http_client.delete _query_url, headers: _headers, username: Configuration.basic_auth_user_name, password: Configuration.basic_auth_password
|
250
|
+
|
251
|
+
# Call the on_before_request callback
|
252
|
+
@http_call_back.on_before_request(_request) if @http_call_back
|
253
|
+
|
254
|
+
# Invoke the API call and get the response
|
255
|
+
_response = @http_client.execute_as_string(_request)
|
256
|
+
|
257
|
+
# Wrap the request and response in an HttpContext object
|
258
|
+
_context = HttpContext.new(_request, _response)
|
259
|
+
|
260
|
+
# Call the on_after_response callback
|
261
|
+
@http_call_back.on_after_response(_context) if @http_call_back
|
262
|
+
|
263
|
+
# Endpoint error handling using HTTP status codes.
|
264
|
+
if _response.status_code == 404
|
265
|
+
raise APIException.new '404 - Type does not exists.', _context
|
266
|
+
elsif _response.status_code == 429
|
267
|
+
raise APIException.new '429 - Too many requests.', _context
|
268
|
+
elsif _response.status_code == 500
|
269
|
+
raise APIException.new '500 - Unexpected internal error.', _context
|
270
|
+
end
|
271
|
+
|
272
|
+
# Global error handling using HTTP status codes.
|
273
|
+
validate_response(_context)
|
274
|
+
|
275
|
+
# Return appropriate response type
|
276
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
277
|
+
return MessageResponse.from_hash(decoded)
|
278
|
+
end
|
279
|
+
end
|
280
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class APIException < StandardError
|
5
|
+
attr_reader :context, :response_code
|
6
|
+
|
7
|
+
# The constructor.
|
8
|
+
# @param [String] The reason for raising an exception
|
9
|
+
# @param [HttpContext] The HttpContext of the API call.
|
10
|
+
def initialize(reason, context)
|
11
|
+
super(reason)
|
12
|
+
@context = context
|
13
|
+
@response_code = context.response.status_code
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class HttpCallBack
|
5
|
+
# A controller will call this method before making an HTTP Request.
|
6
|
+
# @param [HttpRequest] The HttpRequest object which the HttpClient will execute.
|
7
|
+
def on_before_request(http_request)
|
8
|
+
raise NotImplementedError, "This method needs to be implemented in a child class."
|
9
|
+
end
|
10
|
+
|
11
|
+
# A controller will call this method after making an HTTP Request.
|
12
|
+
# @param [HttpResponse] The HttpResponse object received from the HttpClient.
|
13
|
+
def on_after_response(http_response)
|
14
|
+
raise NotImplementedError, "This method needs to be implemented in a child class."
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,112 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class HttpClient
|
5
|
+
# Execute an HttpRequest when the response is expected to be a string.
|
6
|
+
# @param [HttpRequest] The HttpRequest to be executed.
|
7
|
+
def execute_as_string(http_request)
|
8
|
+
raise NotImplementedError, "This method needs to be implemented in a child class."
|
9
|
+
end
|
10
|
+
|
11
|
+
# Execute an HttpRequest when the response is expected to be binary.
|
12
|
+
# @param [HttpRequest] The HttpRequest to be executed.
|
13
|
+
def execute_as_binary(http_request)
|
14
|
+
raise NotImplementedError, "This method needs to be implemented in a child class."
|
15
|
+
end
|
16
|
+
|
17
|
+
# Converts the HTTP Response from the client to an HttpResponse object.
|
18
|
+
# @param [Dynamic] The response object received from the client.
|
19
|
+
def convert_response(response)
|
20
|
+
raise NotImplementedError, "This method needs to be implemented in a child class."
|
21
|
+
end
|
22
|
+
|
23
|
+
# Get a GET HttpRequest object.
|
24
|
+
# @param [String] The URL to send the request to.
|
25
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
26
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
27
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
28
|
+
def get(query_url,
|
29
|
+
headers: nil,
|
30
|
+
username: nil,
|
31
|
+
password: nil)
|
32
|
+
return HttpRequest.new(HttpMethodEnum::GET,
|
33
|
+
query_url,
|
34
|
+
headers: headers,
|
35
|
+
username: username,
|
36
|
+
password: password)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Get a POST HttpRequest object.
|
40
|
+
# @param [String] The URL to send the request to.
|
41
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
42
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
43
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
44
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
45
|
+
def post(query_url,
|
46
|
+
headers: nil,
|
47
|
+
parameters: nil,
|
48
|
+
username: nil,
|
49
|
+
password: nil)
|
50
|
+
return HttpRequest.new(HttpMethodEnum::POST,
|
51
|
+
query_url,
|
52
|
+
headers: headers,
|
53
|
+
parameters: parameters,
|
54
|
+
username: username,
|
55
|
+
password: password)
|
56
|
+
end
|
57
|
+
|
58
|
+
# Get a PUT HttpRequest object.
|
59
|
+
# @param [String] The URL to send the request to.
|
60
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
61
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
62
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
63
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
64
|
+
def put(query_url,
|
65
|
+
headers: nil,
|
66
|
+
parameters: nil,
|
67
|
+
username: nil,
|
68
|
+
password: nil)
|
69
|
+
return HttpRequest.new(HttpMethodEnum::PUT,
|
70
|
+
query_url,
|
71
|
+
headers: headers,
|
72
|
+
parameters: parameters,
|
73
|
+
username: username,
|
74
|
+
password: password)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Get a PATCH HttpRequest object.
|
78
|
+
# @param [String] The URL to send the request to.
|
79
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
80
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
81
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
82
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
83
|
+
def patch(query_url,
|
84
|
+
headers: nil,
|
85
|
+
parameters: nil,
|
86
|
+
username: nil,
|
87
|
+
password: nil)
|
88
|
+
return HttpRequest.new(HttpMethodEnum::PATCH,
|
89
|
+
query_url,
|
90
|
+
headers: headers,
|
91
|
+
parameters: parameters,
|
92
|
+
username: username,
|
93
|
+
password: password)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Get a DELETE HttpRequest object.
|
97
|
+
# @param [String] The URL to send the request to.
|
98
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
99
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
100
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
101
|
+
def delete(query_url,
|
102
|
+
headers: nil,
|
103
|
+
username: nil,
|
104
|
+
password: nil)
|
105
|
+
return HttpRequest.new(HttpMethodEnum::DELETE,
|
106
|
+
query_url,
|
107
|
+
headers: headers,
|
108
|
+
username: username,
|
109
|
+
password: password)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class HttpContext
|
5
|
+
attr_accessor :request, :response
|
6
|
+
|
7
|
+
# The constructor.
|
8
|
+
# @param [HttpRequest] An HttpRequest object representing the HTTP request.
|
9
|
+
# @param [HttpResponse] An HttpResponse object representing the HTTP response.
|
10
|
+
def initialize(request, response)
|
11
|
+
@request = request
|
12
|
+
@response = response
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class HttpRequest
|
5
|
+
attr_accessor :http_method, :query_url, :headers, :parameters, :username, :password
|
6
|
+
|
7
|
+
# The constructor.
|
8
|
+
# @param [HttpMethodEnum] The HTTP method.
|
9
|
+
# @param [String] The URL to send the request to.
|
10
|
+
# @param [Hash, Optional] The headers for the HTTP Request.
|
11
|
+
# @param [Hash, Optional] The parameters for the HTTP Request.
|
12
|
+
# @param [String, Optional] Username for Basic Auth requests.
|
13
|
+
# @param [String, Optional] Password for Basic Auth requests.
|
14
|
+
def initialize(http_method,
|
15
|
+
query_url,
|
16
|
+
headers: nil,
|
17
|
+
parameters: nil,
|
18
|
+
username: nil,
|
19
|
+
password: nil)
|
20
|
+
@http_method = http_method
|
21
|
+
@query_url = query_url
|
22
|
+
@headers = headers
|
23
|
+
@parameters = parameters
|
24
|
+
@username = username
|
25
|
+
@password = password
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
|
3
|
+
module SuggestGrid
|
4
|
+
class HttpResponse
|
5
|
+
attr_accessor :status_code, :headers, :raw_body
|
6
|
+
|
7
|
+
# The constructor.
|
8
|
+
# @param [Integer] The status code returned by the server.
|
9
|
+
# @param [Hash] The headers sent by the server in the response.
|
10
|
+
# @param [String] The raw body of the response.
|
11
|
+
def initialize(status_code,
|
12
|
+
headers,
|
13
|
+
raw_body)
|
14
|
+
@status_code = status_code
|
15
|
+
@headers = headers
|
16
|
+
@raw_body = raw_body
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
|
2
|
+
module SuggestGrid
|
3
|
+
class UnirestClient < HttpClient
|
4
|
+
# Method overridden from HttpClient.
|
5
|
+
def execute_as_string(http_request)
|
6
|
+
|
7
|
+
response = get_connection(http_request.username, http_request.password)
|
8
|
+
.send(http_request.http_method.downcase, http_request.query_url) do |faraday_request|
|
9
|
+
faraday_request.headers = http_request.headers
|
10
|
+
faraday_request.body = http_request.parameters
|
11
|
+
end
|
12
|
+
|
13
|
+
return convert_response(response)
|
14
|
+
end
|
15
|
+
|
16
|
+
# Method overridden from HttpClient.
|
17
|
+
def execute_as_binary(http_request)
|
18
|
+
|
19
|
+
response = get_connection(http_request.username, http_request.password)
|
20
|
+
.send(http_request.http_method.downcase, http_request.query_url) do |faraday_request|
|
21
|
+
faraday_request.headers = http_request.headers
|
22
|
+
faraday_request.body = http_request.parameters
|
23
|
+
end
|
24
|
+
|
25
|
+
return convert_response(response)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Method overridden from HttpClient.
|
29
|
+
def convert_response(response)
|
30
|
+
return HttpResponse.new(response.status, response.headers, response.body)
|
31
|
+
end
|
32
|
+
|
33
|
+
def get_connection(user_name, password)
|
34
|
+
Faraday.new do |builder|
|
35
|
+
builder.request :retry
|
36
|
+
builder.request :basic_auth, user_name, password if user_name
|
37
|
+
builder.adapter :net_http
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|