class AsposeHtml::Configuration

Attributes

access_token[RW]

Defines the access token (Bearer) used with OAuth2.

cert_file[RW]
TLS/SSL setting

Client certificate file (for client certificate)

client_side_validation[RW]

Set this to false to skip client side validation in the operation. Default to true. @return [true, false]

force_ending_format[RW]
inject_format[RW]
key_file[RW]
TLS/SSL setting

Client private key file (for client certificate)

logger[RW]

Defines the logger used for debugging. Default to `Rails.logger` (when in Rails) or logging to STDOUT.

@return [#debug]

params_encoding[RW]

Set this to customize parameters encoding of array parameter with multi collectionFormat. Default to nil.

@see The params_encoding option of Ethon. Related source code: github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96

ssl_ca_cert[RW]
TLS/SSL setting

Set this to customize the certificate file to verify the peer.

@return [String] the path to the certificate file

@see The `cainfo` option of Typhoeus, `–cert` option of libcurl. Related source code: github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145

temp_folder_path[RW]

Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use `Tempfile`.

@return [String]

timeout[RW]

The time limit for HTTP request in seconds. Default to 0 (never times out).

verify_ssl[RW]
TLS/SSL setting

Set this to false to skip verifying SSL certificate when calling API from https server. Default to true.

@note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.

@return [true, false]

verify_ssl_host[RW]
TLS/SSL setting

Set this to false to skip verifying SSL host name Default to true.

@note Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.

@return [true, false]

Public Class Methods

default(args) click to toggle source

The default Configuration object.

# File lib/aspose_html/configuration.rb, line 130
def self.default(args)
  @@default ||= Configuration.new(args)
end
new(params) { |self| ... } click to toggle source
# File lib/aspose_html/configuration.rb, line 109
def initialize(params)
  self.class.class_eval {attr_accessor *params.keys}
  params.each {|key,value| send("#{key}=",value)}

  @timeout = 0
  @temp_folder_path = Dir.tmpdir()
  @access_token = req_token
  @client_side_validation = true
  @verify_ssl = true
  @verify_ssl_host = true
  @params_encoding = nil
  @cert_file = nil
  @key_file = nil
  @inject_format = false
  @force_ending_format = false
  @logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)

  yield(self) if block_given?
end

Public Instance Methods

base_url() click to toggle source
# File lib/aspose_html/configuration.rb, line 138
def base_url
  url = @basePath
  URI.encode(url)
end
configure() { |self| ... } click to toggle source
# File lib/aspose_html/configuration.rb, line 134
def configure
  yield(self) if block_given?
end
req_token() click to toggle source

Request token

# File lib/aspose_html/configuration.rb, line 144
def req_token
  tries = 0
  begin
    Typhoeus::Config.user_agent = "Aspose SDK"
    tries += 1
    response = Typhoeus::Request.new(@authPath,
                                     method: :post,
                                     body: {grant_type: "client_credentials",
                                            client_id: @appSID,
                                            client_secret: @apiKey
                                     },
                                     headers: {Accept: "application/json",
                                               ContentType: "application/x-www-form-urlencoded"
                                     },
                                     verbose: @debug
    ).run
    hash = JSON.parse(response.body, symbolize_names: true)
    hash[:access_token]
  rescue => ex
    puts "#{ex.class}: #{ex.message}"
    puts "Try connect - #{tries}"
    if (tries<5)
      sleep(2**tries)
      retry
    end
    raise "Can not connect to server #{@authPath}"
  end
end