Class: AsposeHtml::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/aspose_html/configuration.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) {|_self| ... } ⇒ Configuration

Returns a new instance of Configuration.

Yields:

  • (_self)

Yield Parameters:



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# File 'lib/aspose_html/configuration.rb', line 110

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

Instance Attribute Details

#access_tokenObject

Defines the access token (Bearer) used with OAuth2.



40
41
42
# File 'lib/aspose_html/configuration.rb', line 40

def access_token
  @access_token
end

#cert_fileObject

TLS/SSL setting Client certificate file (for client certificate)



93
94
95
# File 'lib/aspose_html/configuration.rb', line 93

def cert_file
  @cert_file
end

#client_side_validationtrue, false

Set this to false to skip client side validation in the operation. Default to true.

Returns:

  • (true, false)


62
63
64
# File 'lib/aspose_html/configuration.rb', line 62

def client_side_validation
  @client_side_validation
end

#force_ending_formatObject

Returns the value of attribute force_ending_format.



108
109
110
# File 'lib/aspose_html/configuration.rb', line 108

def force_ending_format
  @force_ending_format
end

#inject_formatObject

Returns the value of attribute inject_format.



106
107
108
# File 'lib/aspose_html/configuration.rb', line 106

def inject_format
  @inject_format
end

#key_fileObject

TLS/SSL setting Client private key file (for client certificate)



97
98
99
# File 'lib/aspose_html/configuration.rb', line 97

def key_file
  @key_file
end

#logger#debug

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

Returns:

  • (#debug)


46
47
48
# File 'lib/aspose_html/configuration.rb', line 46

def logger
  @logger
end

#params_encodingObject

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

github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96

See Also:

  • params_encoding option of Ethon. Related source code:


104
105
106
# File 'lib/aspose_html/configuration.rb', line 104

def params_encoding
  @params_encoding
end

#ssl_ca_certString

TLS/SSL setting Set this to customize the certificate file to verify the peer.

github.com/typhoeus/typhoeus/blob/master/lib/typhoeus/easy_factory.rb#L145

Returns:

  • (String)

    the path to the certificate file

See Also:

  • `cainfo` option of Typhoeus, `--cert` option of libcurl. Related source code:


89
90
91
# File 'lib/aspose_html/configuration.rb', line 89

def ssl_ca_cert
  @ssl_ca_cert
end

#temp_folder_pathString

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

Returns:

  • (String)


53
54
55
# File 'lib/aspose_html/configuration.rb', line 53

def temp_folder_path
  @temp_folder_path
end

#timeoutObject

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



57
58
59
# File 'lib/aspose_html/configuration.rb', line 57

def timeout
  @timeout
end

#verify_ssltrue, false

Note:

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

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

Returns:

  • (true, false)


71
72
73
# File 'lib/aspose_html/configuration.rb', line 71

def verify_ssl
  @verify_ssl
end

#verify_ssl_hosttrue, false

Note:

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

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

Returns:

  • (true, false)


80
81
82
# File 'lib/aspose_html/configuration.rb', line 80

def verify_ssl_host
  @verify_ssl_host
end

Class Method Details

.default(args) ⇒ Object

The default Configuration object.



131
132
133
# File 'lib/aspose_html/configuration.rb', line 131

def self.default(args)
  @@default ||= Configuration.new(args)
end

Instance Method Details

#base_urlObject



139
140
141
142
# File 'lib/aspose_html/configuration.rb', line 139

def base_url
  url = @basePath
  URI.encode(url)
end

#configure {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:



135
136
137
# File 'lib/aspose_html/configuration.rb', line 135

def configure
  yield(self) if block_given?
end

#req_tokenObject

Request token



145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
# File 'lib/aspose_html/configuration.rb', line 145

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