class SSHScan::Api::Api

Public Class Methods

run!(options = {}, &block) click to toggle source
Calls superclass method
# File lib/ssh_scan_api/api.rb, line 265
def self.run!(options = {}, &block)
  set options

  configure do
    enable :logging
    set :bind, ENV['SSHSCAN_API_HOST'] || '127.0.0.1'
    set :port, (ENV['SSHSCAN_API_PORT'] || 8000).to_i
    set :server, "thin"
    set :logger, Logger.new(STDOUT)
    #set :database_file, File.join(File.dirname(__FILE__),"../../config/database.yml")

    database_adapter = 'postgresql'
    database_host = ENV['SSHSCAN_DATABASE_HOST'] || '127.0.0.1'
    database_name = ENV['SSHSCAN_DATABASE_NAME'] || 'ssh_observatory'
    database_username = ENV['SSHSCAN_DATABASE_USERNAME'] || 'sshobs'
    database_pool = 5
    database_timeout = 5000

    set :database, { adapter: database_adapter, database: database_name, username: database_username, host: database_host, pool: database_pool, timeout: database_timeout}
    set :authentication, ENV['SSHSCAN_API_AUTHENTICATION'] == "true" || false
    set :authenticator, SSHScan::Api::Authenticator.new()
    set :target_validator, SSHScan::Api::TargetValidator.new()
    set :allowed_ports, options["allowed_ports"]
    set :protection, false
  end

  super
end