module WAB::Impl::WEBrick::Server
The Server
module provides a server start method.
Public Class Methods
start(shell)
click to toggle source
Start the WEBrick
server and set the mount points.
# File lib/wab/impl/webrick/server.rb, line 12 def self.start(shell) mime_types = ::WEBrick::HTTPUtils::DefaultMimeTypes mime_types['es6'] = 'application/javascript' server = ::WEBrick::HTTPServer.new(Port: shell.http_port, DocumentRoot: shell.http_dir, MimeTypes: mime_types) server.logger.level = 5 - shell.logger.level unless shell.logger.nil? shell.mounts.each { |hh| if hh.has_key?(:type) server.mount("#{shell.pre_path}/#{hh[:type]}", WAB::Impl::WEBrick::Handler, shell, shell.create_controller(hh[:handler]), false) elsif hh.has_key?(:path) server.mount(hh[:path], WAB::Impl::WEBrick::Handler, shell, shell.create_controller(hh[:handler]), true) else raise WAB::Error.new("Invalid handle configuration. Missing path or type.") end } server.mount(shell.tql_path, TqlHandler, shell) unless (shell.tql_path.nil? || shell.tql_path.empty?) server.mount('/', ExportProxy, shell.http_dir) if shell.export_proxy trap 'INT' do server.shutdown end server.start end