77require 'rest-client'
88require 'date'
99require_relative 'exceptions'
10- require_relative 'credential_factory '
10+ require_relative 'credentials_factory '
1111
1212module Cryptomarket
1313 # Manager of http requests to the cryptomarket server
1414 class HttpManager
15- Request = Data . define ( :uri , :endpoint , :payload , :headers , :is_json )
1615 @@API_URL = 'https://api.exchange.cryptomkt.com' # rubocop:disable Naming/VariableName,Style/ClassVars
1716 @@API_VERSION = '/api/3/' # rubocop:disable Naming/VariableName,Style/ClassVars
1817
1918 def initialize ( api_key :, api_secret :, window : nil )
20- @credential_factory = CredentialFactory ( api_key , api_secret , window )
19+ @credential_factory = Cryptomarket ::CredentialsFactory . new (
20+ api_version : @@API_VERSION , api_key : api_key , api_secret : api_secret , window : window
21+ )
2122 end
2223
2324 def make_request ( method :, endpoint :, params : nil , public : false )
24- uri = URI ( @@API_URL + version_as_str + endpoint )
25+ uri = URI ( @@API_URL + @@API_VERSION + endpoint )
2526 payload = build_payload ( params )
2627 headers = build_headers ( method , endpoint , params , public )
2728 if ( ( method . upcase == 'GET' ) || ( method . upcase == 'PUT' ) ) && !payload . nil?
28- payload = nil
2929 uri . query = URI . encode_www_form payload
30+ payload = nil
3031 end
31- do_request ( Request [ method , uri , payload , headers , false ] )
32+ do_request ( method , uri , payload , headers )
3233 end
3334
3435 def make_post_request ( method :, endpoint :, params : nil )
35- uri = URI ( @@API_URL + version_as_str + endpoint )
36+ uri = URI ( @@API_URL + @@API_VERSION + endpoint )
3637 payload = build_payload ( params )
37- do_request ( Request [ method , uri , payload , build_post_headers ( endpoint , payload ) , true ] )
38+ do_request ( method , uri , payload , build_post_headers ( endpoint , payload ) , is_json : true )
3839 end
3940
4041 def build_headers ( method , endpoint , params , public )
@@ -51,12 +52,11 @@ def build_payload(params)
5152 payload
5253 end
5354
54- def do_request ( request : )
55+ def do_request ( method , uri , payload , headers , is_json : false )
5556 response = RestClient ::Request . execute (
56- method : request . method . downcase . to_sym , url : request . uri . to_s ,
57- payload : request . payload . to_json , headers : request . headers
57+ method : method . downcase . to_sym , url : uri . to_s , payload : payload . to_json , headers : headers
5858 )
59- response [ :content_type ] = :json if request . is_json
59+ response [ :content_type ] = :json if is_json
6060 handle_response ( response )
6161 rescue RestClient ::ExceptionWithResponse => e
6262 handle_response ( e . response )
0 commit comments