class AsposeHtml::Configuration
Attributes
Defines the access token (Bearer) used with OAuth2.
TLS/SSL setting
Client certificate file (for client certificate)
Set this to false to skip client side validation in the operation. Default to true. @return [true, false]
TLS/SSL setting
Client private key file (for client certificate)
Defines the logger used for debugging. Default to `Rails.logger` (when in Rails) or logging to STDOUT.
@return [#debug]
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
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
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use `Tempfile`.
@return [String]
The time limit for HTTP request in seconds. Default to 0 (never times out).
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]
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
The default Configuration
object.
# File lib/aspose_html_cloud/configuration.rb, line 130 def self.default(args) @@default ||= Configuration.new(args) end
# File lib/aspose_html_cloud/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 = false @verify_ssl_host = false @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
# File lib/aspose_html_cloud/configuration.rb, line 138 def base_url url = @basePath URI.encode(url) end
# File lib/aspose_html_cloud/configuration.rb, line 134 def configure yield(self) if block_given? end
Request token
# File lib/aspose_html_cloud/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" }, ssl_verifyhost: 0, ssl_verifypeer: false, 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