Class: Aspera::Cli::Plugins::BasicAuth

Inherits:
Base
  • Object
show all
Defined in:
lib/aspera/cli/plugins/basic_auth.rb

Overview

base class for applications supporting basic authentication

Direct Known Subclasses

Alee, Console, Faspex, Faspio, Node, Oauth, Orchestrator, Preview, Server, Shares

Constant Summary

Constants inherited from Base

Aspera::Cli::Plugins::Base::ALL_OPS, Aspera::Cli::Plugins::Base::GLOBAL_OPS, Aspera::Cli::Plugins::Base::INSTANCE_OPS, Aspera::Cli::Plugins::Base::MAX_ITEMS, Aspera::Cli::Plugins::Base::MAX_PAGES, Aspera::Cli::Plugins::Base::REGEX_LOOKUP_ID_BY_FIELD

Instance Attribute Summary

Attributes inherited from Base

#context

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#add_manual_header, #config, #do_bulk_operation, #entity_execute, #formatter, #instance_identifier, #list_entities_limit_offset_total_count, #lookup_entity_by_field, #options, #persistency, #query_read_delete, #transfer, #value_create_modify

Constructor Details

#initialize(context:, basic_options: true) ⇒ BasicAuth

Returns a new instance of BasicAuth.



20
21
22
23
# File 'lib/aspera/cli/plugins/basic_auth.rb', line 20

def initialize(context:, basic_options: true)
  super(context: context)
  BasicAuth.declare_options(options) if basic_options
end

Class Method Details

.declare_options(options) ⇒ Object



12
13
14
15
16
17
# File 'lib/aspera/cli/plugins/basic_auth.rb', line 12

def declare_options(options)
  options.declare(:url, 'URL of application, e.g. https://app.example.com/aspera/app')
  options.declare(:username, "User's identifier")
  options.declare(:password, "User's password")
  options.parse_options!
end

Instance Method Details

#basic_auth_api(subpath = nil) ⇒ Object



39
40
41
# File 'lib/aspera/cli/plugins/basic_auth.rb', line 39

def basic_auth_api(subpath = nil)
  return Rest.new(**basic_auth_params(subpath))
end

#basic_auth_params(subpath = nil) ⇒ Object

returns a Rest object with basic auth



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/aspera/cli/plugins/basic_auth.rb', line 26

def basic_auth_params(subpath = nil)
  api_url = options.get_option(:url, mandatory: true)
  api_url = "#{api_url}/#{subpath}" unless subpath.nil?
  return {
    base_url: api_url,
    auth:     {
      type:     :basic,
      username: options.get_option(:username, mandatory: true),
      password: options.get_option(:password, mandatory: true)
    }
  }
end