Sha256: 4949c92add2360d44edb9d9e0ff1cf0160a9b91ebec0122ee8639b1ae7771339
Contents?: true
Size: 1.1 KB
Versions: 2
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require 'httparty' module FtxExchangeApi class BaseApi include HTTParty attr_reader :config def initialize(config: nil) @config = Config.new(config) @config.reverse_merge!(FtxExchangeApi.default_config) end protected def send_request(method, path, headers, query) uuid = SecureRandom.uuid print_log(:info, "[API] #{uuid} #{method.upcase} '#{path}' query = #{query}") body_or_query = method == :get ? :query : :body begin response = self.class.send( method, path, headers: headers, timeout: @config.timeout, body_or_query => query, ).parsed_response print_log(:info, "[API] #{uuid} response #{response}") return response rescue => error print_log(:error, "[API] #{uuid} raise exception #{error.message}") raise error end end private def print_log(method, message) logger = @config.logger logger.send(method, message) if logger end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ftx_exchange_api-0.0.2 | lib/ftx_exchange_api/base_api.rb |
ftx_exchange_api-0.0.1 | lib/ftx_exchange_api/base_api.rb |