2021-04-04 17:07:03 +00:00
|
|
|
class RestapiQueryService
|
|
|
|
|
|
2021-04-08 07:20:44 +00:00
|
|
|
attr_accessor :data_query, :options
|
2021-04-04 17:07:03 +00:00
|
|
|
|
2021-04-08 07:20:44 +00:00
|
|
|
def initialize(data_query, options)
|
2021-04-04 17:07:03 +00:00
|
|
|
@data_query = data_query
|
2021-04-08 07:20:44 +00:00
|
|
|
@options = options
|
2021-04-04 17:07:03 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def process
|
2021-04-08 07:20:44 +00:00
|
|
|
url = options["url"]
|
|
|
|
|
method = options["method"]
|
|
|
|
|
headers = options["headers"]
|
|
|
|
|
body = options["body"]
|
|
|
|
|
url_params = options["url_params"]
|
2021-04-04 17:07:03 +00:00
|
|
|
|
|
|
|
|
response = HTTParty.send(method.downcase,
|
|
|
|
|
data_query.options["url"],
|
|
|
|
|
body: body.to_h,
|
|
|
|
|
headers: headers.to_h,
|
|
|
|
|
query: url_params.to_h
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
{ code: response.code, data: response.body}
|
|
|
|
|
end
|
|
|
|
|
end
|