lib/dropbox-sign/configuration.rb in dropbox-sign-1.4.1 vs lib/dropbox-sign/configuration.rb in dropbox-sign-1.5.0
- old
+ new
@@ -4,11 +4,11 @@
#Dropbox Sign v3 API
The version of the OpenAPI document: 3.0.0
Contact: apisupport@hellosign.com
Generated by: https://openapi-generator.tech
-OpenAPI Generator version: 5.3.0
+Generator version: 7.7.0
=end
module Dropbox
end
@@ -63,17 +63,35 @@
attr_accessor :password
# Defines the access token (Bearer) used with OAuth2.
attr_accessor :access_token
+ # Defines a Proc used to fetch or refresh access tokens (Bearer) used with OAuth2.
+ # Overrides the access_token if set
+ # @return [Proc]
+ attr_accessor :access_token_getter
+
+ # Set this to return data as binary instead of downloading a temp file. When enabled (set to true)
+ # HTTP responses with return type `File` will be returned as a stream of binary data.
+ # Default to false.
+ attr_accessor :return_binary_data
+
# Set this to enable/disable debugging. When enabled (set to true), HTTP request/response
# details will be logged with `logger.debug` (see the `logger` attribute).
# Default to false.
#
# @return [true, false]
attr_accessor :debugging
+ # Set this to ignore operation servers for the API client. This is useful when you need to
+ # send requests to a different server than the one specified in the OpenAPI document.
+ # Will default to the base url defined in the spec but can be overridden by setting
+ # `scheme`, `host`, `base_path` directly.
+ # Default to false.
+ # @return [true, false]
+ attr_accessor :ignore_operation_servers
+
# Defines the logger used for debugging.
# Default to `Rails.logger` (when in Rails) or logging to STDOUT.
#
# @return [#debug]
attr_accessor :logger
@@ -134,32 +152,34 @@
#
# @see The params_encoding option of Ethon. Related source code:
# https://github.com/typhoeus/ethon/blob/master/lib/ethon/easy/queryable.rb#L96
attr_accessor :params_encoding
+
attr_accessor :inject_format
attr_accessor :force_ending_format
def initialize
@scheme = 'https'
@host = 'api.hellosign.com'
@base_path = '/v3'
- @server_index = 0
+ @server_index = nil
@server_operation_index = {}
@server_variables = {}
@server_operation_variables = {}
@api_key = {}
@api_key_prefix = {}
@client_side_validation = true
@verify_ssl = true
@verify_ssl_host = true
- @params_encoding = nil
@cert_file = nil
@key_file = nil
@timeout = 0
+ @params_encoding = nil
@debugging = false
+ @ignore_operation_servers = false
@inject_format = false
@force_ending_format = false
@logger = defined?(Rails) ? Rails.logger : Logger.new(STDOUT)
yield(self) if block_given?
@@ -190,14 +210,17 @@
@base_path = '' if @base_path == '/'
end
# Returns base URL for specified operation based on server settings
def base_url(operation = nil)
- index = server_operation_index.fetch(operation, server_index)
- return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if index == nil
-
- server_url(index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
+ return "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') if ignore_operation_servers
+ if operation_server_settings.key?(operation) then
+ index = server_operation_index.fetch(operation, server_index)
+ server_url(index.nil? ? 0 : index, server_operation_variables.fetch(operation, server_variables), operation_server_settings[operation])
+ else
+ server_index.nil? ? "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') : server_url(server_index, server_variables, nil)
+ end
end
# Gets API key (with prefix if set).
# @param [String] param_name the parameter name of API key auth
def api_key_with_prefix(param_name, param_alias = nil)
@@ -208,10 +231,16 @@
else
key
end
end
+ # Gets access_token using access_token_getter or uses the static access_token
+ def access_token_with_refresh
+ return access_token if access_token_getter.nil?
+ access_token_getter.call
+ end
+
# Gets Basic Auth token string
def basic_auth_token
'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n")
end
@@ -271,12 +300,12 @@
# @param variables hash of variable and the corresponding value
def server_url(index, variables = {}, servers = nil)
servers = server_settings if servers == nil
# check array index out of bound
- if (index < 0 || index >= servers.size)
- fail ArgumentError, "Invalid index #{index} when selecting the server. Must be less than #{servers.size}"
+ if (index.nil? || index < 0 || index >= servers.size)
+ fail ArgumentError, "Invalid index #{index} when selecting the server. Must not be nil and must be less than #{servers.size}"
end
server = servers[index]
url = server[:url]
@@ -296,8 +325,9 @@
end
end
url
end
+
end
end