Class: PulpFileClient::Configuration
- Inherits:
- 
      Object
      
        - Object
- PulpFileClient::Configuration
 
- Defined in:
- lib/pulp_file_client/configuration.rb
Instance Attribute Summary collapse
- 
  
    
      #access_token  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the access token (Bearer) used with OAuth2. 
- 
  
    
      #api_key  ⇒ Hash 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines API keys used with API Key authentications. 
- 
  
    
      #api_key_prefix  ⇒ Hash 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines API key prefixes used with API Key authentications. 
- 
  
    
      #base_path  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines url base path. 
- 
  
    
      #client_side_validation  ⇒ true, false 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Set this to false to skip client side validation in the operation. 
- 
  
    
      #debugging  ⇒ true, false 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Set this to enable/disable debugging. 
- 
  
    
      #force_ending_format  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute force_ending_format. 
- 
  
    
      #host  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines url host. 
- 
  
    
      #inject_format  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute inject_format. 
- 
  
    
      #logger  ⇒ #debug 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the logger used for debugging. 
- 
  
    
      #params_encoder  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Set this to customize parameters encoder of array parameter. 
- 
  
    
      #params_encoding  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Set this to customize parameters encoding of array parameter with multi collectionFormat. 
- 
  
    
      #password  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the password used with HTTP basic authentication. 
- 
  
    
      #scheme  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines url scheme. 
- 
  
    
      #ssl_ca_file  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    TLS/SSL setting Set this to customize the certificate file to verify the peer. 
- 
  
    
      #ssl_client_cert  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    TLS/SSL setting Client certificate file (for client certificate). 
- 
  
    
      #ssl_client_key  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    TLS/SSL setting Client private key file (for client certificate). 
- 
  
    
      #ssl_verify  ⇒ true, false 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    TLS/SSL setting Set this to false to skip verifying SSL certificate when calling API from https server. 
- 
  
    
      #ssl_verify_mode  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    TLS/SSL setting Any ‘OpenSSL::SSL::` constant (see ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html). 
- 
  
    
      #temp_folder_path  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the temporary folder to store downloaded files (for API endpoints that have file response). 
- 
  
    
      #timeout  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The time limit for HTTP request in seconds. 
- 
  
    
      #username  ⇒ String 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Defines the username used with HTTP basic authentication. 
Class Method Summary collapse
- 
  
    
      .default  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    The default Configuration object. 
Instance Method Summary collapse
- 
  
    
      #api_key_with_prefix(param_name)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Gets API key (with prefix if set). 
- 
  
    
      #auth_settings  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns Auth Settings hash for api client. 
- #base_url ⇒ Object
- 
  
    
      #basic_auth_token  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Gets Basic Auth token string. 
- #configure {|_self| ... } ⇒ Object
- 
  
    
      #initialize {|_self| ... } ⇒ Configuration 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    A new instance of Configuration. 
- 
  
    
      #server_settings  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns an array of Server setting. 
- 
  
    
      #server_url(index, variables = {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    Returns URL based on server settings. 
Constructor Details
#initialize {|_self| ... } ⇒ Configuration
Returns a new instance of Configuration.
| 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | # File 'lib/pulp_file_client/configuration.rb', line 129 def initialize @scheme = 'http' @host = 'localhost' @base_path = '' @api_key = {} @api_key_prefix = {} @timeout = 0 @client_side_validation = true @ssl_verify = true @ssl_verify_mode = nil @ssl_ca_file = nil @ssl_client_cert = nil @ssl_client_key = nil @params_encoder = nil @timeout = 60 @debugging = false @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_token ⇒ Object
Defines the access token (Bearer) used with OAuth2.
| 51 52 53 | # File 'lib/pulp_file_client/configuration.rb', line 51 def access_token @access_token end | 
#api_key ⇒ Hash
Defines API keys used with API Key authentications.
| 30 31 32 | # File 'lib/pulp_file_client/configuration.rb', line 30 def api_key @api_key end | 
#api_key_prefix ⇒ Hash
Defines API key prefixes used with API Key authentications.
| 38 39 40 | # File 'lib/pulp_file_client/configuration.rb', line 38 def api_key_prefix @api_key_prefix end | 
#base_path ⇒ Object
Defines url base path
| 22 23 24 | # File 'lib/pulp_file_client/configuration.rb', line 22 def base_path @base_path end | 
#client_side_validation ⇒ true, false
Set this to false to skip client side validation in the operation. Default to true.
| 80 81 82 | # File 'lib/pulp_file_client/configuration.rb', line 80 def client_side_validation @client_side_validation end | 
#debugging ⇒ true, false
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.
| 58 59 60 | # File 'lib/pulp_file_client/configuration.rb', line 58 def debugging @debugging end | 
#force_ending_format ⇒ Object
Returns the value of attribute force_ending_format.
| 127 128 129 | # File 'lib/pulp_file_client/configuration.rb', line 127 def force_ending_format @force_ending_format end | 
#host ⇒ Object
Defines url host
| 19 20 21 | # File 'lib/pulp_file_client/configuration.rb', line 19 def host @host end | 
#inject_format ⇒ Object
Returns the value of attribute inject_format.
| 125 126 127 | # File 'lib/pulp_file_client/configuration.rb', line 125 def inject_format @inject_format end | 
#logger ⇒ #debug
Defines the logger used for debugging. Default to ‘Rails.logger` (when in Rails) or logging to STDOUT.
| 64 65 66 | # File 'lib/pulp_file_client/configuration.rb', line 64 def logger @logger end | 
#params_encoder ⇒ Object
Set this to customize parameters encoder of array parameter. Default to nil. Faraday uses NestedParamsEncoder when nil.
github.com/lostisland/faraday/tree/main/lib/faraday/encoders
| 117 118 119 | # File 'lib/pulp_file_client/configuration.rb', line 117 def params_encoder @params_encoder end | 
#params_encoding ⇒ Object
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
| 123 124 125 | # File 'lib/pulp_file_client/configuration.rb', line 123 def params_encoding @params_encoding end | 
#password ⇒ String
Defines the password used with HTTP basic authentication.
| 48 49 50 | # File 'lib/pulp_file_client/configuration.rb', line 48 def password @password end | 
#scheme ⇒ Object
Defines url scheme
| 16 17 18 | # File 'lib/pulp_file_client/configuration.rb', line 16 def scheme @scheme end | 
#ssl_ca_file ⇒ String
TLS/SSL setting Set this to customize the certificate file to verify the peer.
| 102 103 104 | # File 'lib/pulp_file_client/configuration.rb', line 102 def ssl_ca_file @ssl_ca_file end | 
#ssl_client_cert ⇒ Object
TLS/SSL setting Client certificate file (for client certificate)
| 106 107 108 | # File 'lib/pulp_file_client/configuration.rb', line 106 def ssl_client_cert @ssl_client_cert end | 
#ssl_client_key ⇒ Object
TLS/SSL setting Client private key file (for client certificate)
| 110 111 112 | # File 'lib/pulp_file_client/configuration.rb', line 110 def ssl_client_key @ssl_client_key end | 
#ssl_verify ⇒ true, false
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.
| 89 90 91 | # File 'lib/pulp_file_client/configuration.rb', line 89 def ssl_verify @ssl_verify end | 
#ssl_verify_mode ⇒ Object
Do NOT set it to false in production code, otherwise you would face multiple types of cryptographic attacks.
TLS/SSL setting Any ‘OpenSSL::SSL::` constant (see ruby-doc.org/stdlib-2.5.1/libdoc/openssl/rdoc/OpenSSL/SSL.html)
| 96 97 98 | # File 'lib/pulp_file_client/configuration.rb', line 96 def ssl_verify_mode @ssl_verify_mode end | 
#temp_folder_path ⇒ String
Defines the temporary folder to store downloaded files (for API endpoints that have file response). Default to use ‘Tempfile`.
| 71 72 73 | # File 'lib/pulp_file_client/configuration.rb', line 71 def temp_folder_path @temp_folder_path end | 
#timeout ⇒ Object
The time limit for HTTP request in seconds. Default to 0 (never times out).
| 75 76 77 | # File 'lib/pulp_file_client/configuration.rb', line 75 def timeout @timeout end | 
#username ⇒ String
Defines the username used with HTTP basic authentication.
| 43 44 45 | # File 'lib/pulp_file_client/configuration.rb', line 43 def username @username end | 
Class Method Details
.default ⇒ Object
The default Configuration object.
| 153 154 155 | # File 'lib/pulp_file_client/configuration.rb', line 153 def self.default @@default ||= Configuration.new end | 
Instance Method Details
#api_key_with_prefix(param_name) ⇒ Object
Gets API key (with prefix if set).
| 183 184 185 186 187 188 189 | # File 'lib/pulp_file_client/configuration.rb', line 183 def api_key_with_prefix(param_name) if @api_key_prefix[param_name] "#{@api_key_prefix[param_name]} #{@api_key[param_name]}" else @api_key[param_name] end end | 
#auth_settings ⇒ Object
Returns Auth Settings hash for api client.
| 197 198 199 200 201 202 203 204 205 206 207 | # File 'lib/pulp_file_client/configuration.rb', line 197 def auth_settings { 'basicAuth' => { type: 'basic', in: 'header', key: 'Authorization', value: basic_auth_token }, } end | 
#base_url ⇒ Object
| 177 178 179 | # File 'lib/pulp_file_client/configuration.rb', line 177 def base_url "#{scheme}://#{[host, base_path].join('/').gsub(/\/+/, '/')}".sub(/\/+\z/, '') end | 
#basic_auth_token ⇒ Object
Gets Basic Auth token string
| 192 193 194 | # File 'lib/pulp_file_client/configuration.rb', line 192 def basic_auth_token 'Basic ' + ["#{username}:#{password}"].pack('m').delete("\r\n") end | 
#configure {|_self| ... } ⇒ Object
| 157 158 159 | # File 'lib/pulp_file_client/configuration.rb', line 157 def configure yield(self) if block_given? end | 
#server_settings ⇒ Object
Returns an array of Server setting
| 210 211 212 213 214 215 216 217 | # File 'lib/pulp_file_client/configuration.rb', line 210 def server_settings [ { url: "http://localhost:24817/", description: "No description provided", } ] end | 
#server_url(index, variables = {}) ⇒ Object
Returns URL based on server settings
| 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 | # File 'lib/pulp_file_client/configuration.rb', line 223 def server_url(index, variables = {}) servers = server_settings # 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}" end server = servers[index] url = server[:url] # go through variable and assign a value server[:variables].each do |name, variable| if variables.key?(name) if (server[:variables][name][:enum_values].include? variables[name]) url.gsub! "{" + name.to_s + "}", variables[name] else fail ArgumentError, "The variable `#{name}` in the server URL has invalid value #{variables[name]}. Must be #{server[:variables][name][:enum_values]}." end else # use default value url.gsub! "{" + name.to_s + "}", server[:variables][name][:default_value] end end url end |