Class: OstKycSdkRuby::Util::HTTPHelper

Inherits:
Object
  • Object
show all
Defined in:
lib/ost-kyc-sdk-ruby/util/http_helper.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ HTTPHelper

Initialize

Arguments:

api_base_url: (String)
api_key: (String)
api_secret: (String)
api_spec: (Boolean)


23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ost-kyc-sdk-ruby/util/http_helper.rb', line 23

def initialize(params)
  @api_base_url = params[:api_base_url]
  @api_key = params[:api_key]
  @api_secret = params[:api_secret]
  @api_spec = params[:api_spec]
  @timeout = 10
  if (params.key?(:config))
    config = params[:config]
    if (config.key?(:timeout))
      @timeout = config[:timeout]
    end
  end
end

Instance Method Details

#get_signature_for_test(endpoint, request_params) ⇒ Object



86
87
88
89
90
# File 'lib/ost-kyc-sdk-ruby/util/http_helper.rb', line 86

def get_signature_for_test(endpoint, request_params)
  escaped_query_string = get_escaped_query_string(request_params)
  string_to_sign = "#{endpoint}?#{escaped_query_string}"
  generate_signature(string_to_sign)
end

#send_get_request(endpoint, request_params) ⇒ Object

Send GET requests

Arguments:

end_point: (String)
request_params: (Hash)

Returns:

OstKycSdkRuby::Util::Result


69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/ost-kyc-sdk-ruby/util/http_helper.rb', line 69

def send_get_request(endpoint, request_params)
  perform_and_handle_exceptions('u_hh_2', 'GET request Failed') do
    escaped_query_string = get_query_string(endpoint, request_params)
    raw_url = get_api_url(endpoint) + "?#{escaped_query_string}"
    uri = URI(raw_url)
    if @api_spec
      return OstKycSdkRuby::Util::Result.success({data: {request_uri: uri.to_s.split("?")[0], request_type: 'GET', request_params: escaped_query_string}})
    else
      result = {}
      Timeout.timeout(@timeout) do
        result = Net::HTTP.get_response(uri)
      end
      return format_response(result)
    end
  end
end

#send_post_request(endpoint, request_params) ⇒ Object

Send POST requests

Arguments:

end_point: (String)
request_params: (Hash)

Returns:

OstKycSdkRuby::Util::Result


46
47
48
49
50
51
52
53
54
55
56
57
58
# File 'lib/ost-kyc-sdk-ruby/util/http_helper.rb', line 46

def send_post_request(endpoint, request_params)
  perform_and_handle_exceptions('u_hh_1', 'POST request failed') do
    escaped_query_string = get_query_string(endpoint, request_params)
    uri = URI(get_api_url(endpoint))
    http = setup_request(uri)
    if @api_spec
      return OstKycSdkRuby::Util::Result.success({data: {request_uri: uri.to_s, request_type: 'POST', request_params: escaped_query_string}})
    else
      result = http.post(uri.path, escaped_query_string)
      return format_response(result)
    end
  end
end