class Upman::Server::Socket
Attributes
server[R]
Public Class Methods
new()
click to toggle source
# File lib/upman/server/socket.rb, line 16 def initialize @config = ::Upman::Core::Config.daemon end
Public Instance Methods
run!()
click to toggle source
# File lib/upman/server/socket.rb, line 21 def run! server = HTTPServer.new( BindAddress: @config[:listen], :Port => @config[:port], :SSLEnable => @config[:ssl], :debugger => false, :daemonize => true, :SSLPrivateKey => OpenSSL::PKey::RSA.new( File.open(@config[:key]).read), :SSLCertificate => OpenSSL::X509::Certificate.new( File.open(@config[:cert]).read), :SSLCertName => [["CN", WEBrick::Utils::getservername]], Logger: WEBrick::Log.new("/dev/null"), AccessLog: [], ) _register_extensions(server) protocol = @config[:ssl] ? 'https://' : 'http://' info "Starting listener on #{protocol}#{@config[:listen]}:#{@config[:port]}" server.start end
Private Instance Methods
_register_extensions(server)
click to toggle source
# File lib/upman/server/socket.rb, line 49 def _register_extensions(server) @config[:extensions].each do |extension| require_relative "../../upman/extensions/#{extension}" ext_obj = dynload("Upman::Extensions::#{extension.split('_').map(&:capitalize).join('')}") info "Register /#{ext_obj ::REQUEST_PATH}.do for Upman::Extensions::#{extension.split('_').map(&:capitalize).join('')}" ext_class = ext_obj .new server.mount "/#{ext_obj ::REQUEST_PATH}.do", ext_class.register end end