Class: Bosh::Director::Api::Controllers::BaseController

Inherits:
Sinatra::Base
  • Object
show all
Includes:
ApiHelper, Http, DnsHelper
Defined in:
lib/bosh/director/api/controllers/base_controller.rb

Constant Summary

Constants included from DnsHelper

DnsHelper::SOA, DnsHelper::TTL_4H, DnsHelper::TTL_5M

Constants included from Http

Http::BAD_REQUEST, Http::CREATED, Http::FORBIDDEN, Http::INTERNAL_SERVER_ERROR, Http::NOT_FOUND, Http::NO_CONTENT, Http::OK, Http::UNAUTHORIZED

Constants included from ApiHelper

ApiHelper::READ_CHUNK_SIZE

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DnsHelper

#add_default_dns_server, #canonical, #default_dns_server, #delete_dns_records, #delete_empty_domain, #dns_domain_name, #dns_ns_record, #dns_servers, #flush_dns_cache, #invalid_dns, #reverse_domain, #reverse_host, #update_dns_a_record, #update_dns_ptr_record

Methods included from ApiHelper

#check_available_disk_space, #json_decode, #json_encode, #send_disposable_file, #start_task, #write_file

Constructor Details

#initialize(config) ⇒ BaseController

Returns a new instance of BaseController.



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/bosh/director/api/controllers/base_controller.rb', line 9

def initialize(config)
  super()
  @config = config
  @identity_provider = config.identity_provider
  @deployment_manager = DeploymentManager.new
  @backup_manager = BackupManager.new
  @instance_manager = InstanceManager.new
  @resurrector_manager = ResurrectorManager.new
  @problem_manager = ProblemManager.new(@deployment_manager)
  @property_manager = PropertyManager.new(@deployment_manager)
  @release_manager = ReleaseManager.new
  @snapshot_manager = SnapshotManager.new
  @stemcell_manager = StemcellManager.new
  @task_manager = TaskManager.new
  @user_manager = UserManager.new
  @vm_state_manager = VmStateManager.new
  @logger = Config.logger
end

Instance Attribute Details

#identity_providerObject (readonly)

Returns the value of attribute identity_provider.



31
32
33
# File 'lib/bosh/director/api/controllers/base_controller.rb', line 31

def identity_provider
  @identity_provider
end

Class Method Details

.consumes(*types) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
# File 'lib/bosh/director/api/controllers/base_controller.rb', line 33

def self.consumes(*types)
  types = Set.new(types)
  types.map! { |t| mime_type(t) }

  condition do
    # Content-Type header may include charset or boundry info
    content_type = request.content_type || ''
    mime_type = content_type.split(';')[0]
    types.include?(mime_type)
  end
end

Instance Method Details

#requires_authentication?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/bosh/director/api/controllers/base_controller.rb', line 45

def requires_authentication?
  true
end