lib/wolf_core/infrastructure/http_data_source.rb
module WolfCore
module HttpDataSource
module_function
TIMEOUT = 900
def http_get(url:, headers: {}, query: nil, timeout: nil)
HTTParty.get(url, headers: headers, query: query, timeout: timeout, open_timeout: timeout, read_timeout: timeout, write_timeout: timeout)
end
def http_post(url:, headers: {}, query: nil, body: nil, timeout: nil)
headers['Content-Type'] ||= 'application/json'
body = body&.to_json if headers['Content-Type'] == 'application/json'
HTTParty.post(url, headers: headers, query: query, body: body, timeout: timeout, open_timeout: timeout, read_timeout: timeout, write_timeout: timeout)
end
def http_put(url:, headers: {}, query: nil, body: nil, timeout: nil)
headers['Content-Type'] ||= 'application/json'
body = body&.to_json if headers['Content-Type'] == 'application/json'
HTTParty.put(url, headers: headers, query: query, body: body, timeout: timeout, open_timeout: timeout, read_timeout: timeout, write_timeout: timeout)
end
def http_patch(url:, headers: {}, query: nil, body: nil, timeout: nil)
headers['Content-Type'] ||= 'application/json'
body = body&.to_json if headers['Content-Type'] == 'application/json'
HTTParty.patch(url, headers: headers, query: query, body: body, timeout: timeout, open_timeout: timeout, read_timeout: timeout, write_timeout: timeout)
end
end
end