class TencentCloud::Common::Http::Request

Attributes

credential[RW]
klass[RW]
options[RW]

Public Class Methods

new(credential, klass, options = {}) click to toggle source
# File lib/tencent_cloud/common/http/request.rb, line 9
def initialize(credential, klass, options = {})
  @uri = 'https://' + klass::ENDPOINT
  options[:method] ||= :post
  self.options = options
  self.credential = credential
  self.klass = klass
end

Public Instance Methods

run() click to toggle source
# File lib/tencent_cloud/common/http/request.rb, line 34
def run
  signed_request.run
end
signed_request() click to toggle source
# File lib/tencent_cloud/common/http/request.rb, line 17
def signed_request
  headers = {
    'content-type' => 'application/json; charset=utf-8',
    'host' => klass::ENDPOINT
  }
  if options[:headers].nil?
    options[:headers] = headers
  else
    options[:headers].merge! headers
  end

  request = Typhoeus::Request.new @uri.to_s, options
  authorization = Sign.new(credential, klass, request).sign_tc3
  request.options[:headers]['Authorization'] = authorization
  request
end