Class: ChargeBee::Request
- Inherits:
-
Object
- Object
- ChargeBee::Request
- Defined in:
- lib/chargebee/request.rb
Class Method Summary collapse
- .send(method, url, params = {}, env = nil, headers = {}, sub_domain = nil, isJsonRequest = nil, jsonKeys = {}, options = {}, telemetry_resource = nil, telemetry_operation = nil) ⇒ Object
- .send_list_request(method, url, params = {}, env = nil, headers = {}, sub_domain = nil, isJsonRequest = nil, jsonKeys = {}, options = {}, telemetry_resource = nil, telemetry_operation = nil) ⇒ Object
Class Method Details
.send(method, url, params = {}, env = nil, headers = {}, sub_domain = nil, isJsonRequest = nil, jsonKeys = {}, options = {}, telemetry_resource = nil, telemetry_operation = nil) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/chargebee/request.rb', line 15 def self.send(method, url, params={}, env=nil, headers={}, sub_domain=nil, isJsonRequest=nil, jsonKeys={}, ={}, telemetry_resource=nil, telemetry_operation=nil) telemetry_resource, telemetry_operation = normalize_telemetry_args(telemetry_resource, telemetry_operation) env ||= ChargeBee.default_env ser_params = isJsonRequest ? params : Util.serialize(params, nil, nil, jsonKeys) http_url = TelemetryExecutor.build_http_url(env, sub_domain, url) normalized_headers = headers || {} TelemetryExecutor.execute( env, telemetry_resource: telemetry_resource, telemetry_operation: telemetry_operation, method: method, http_url: http_url, request_headers: normalized_headers, ) do |telemetry_headers| merged_headers = normalized_headers.dup if telemetry_headers telemetry_headers.each { |key, value| merged_headers[key] = value } end resp, rheaders, rcode = NativeRequest.request(method, url, env, ser_params||={}, merged_headers, sub_domain, isJsonRequest, ) result = if resp && resp.has_key?(:list) ListResult.new(resp[:list], resp[:next_offset], rheaders, rcode) else Result.new(resp, rheaders, rcode) end [rcode.to_i, result] end end |
.send_list_request(method, url, params = {}, env = nil, headers = {}, sub_domain = nil, isJsonRequest = nil, jsonKeys = {}, options = {}, telemetry_resource = nil, telemetry_operation = nil) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/chargebee/request.rb', line 4 def self.send_list_request(method, url, params={}, env=nil, headers={}, sub_domain=nil, isJsonRequest=nil, jsonKeys={}, ={}, telemetry_resource=nil, telemetry_operation=nil) serialized = {} params.each do |k, v| if(v.kind_of? Array) v = v.to_json end serialized["#{k}"] = v end self.send(method, url, serialized, env, headers, sub_domain, isJsonRequest, jsonKeys, , telemetry_resource, telemetry_operation) end |