backend|cli: add Twenty::Servlet.server
.
This commit is contained in:
parent
8ca73dc1d9
commit
fc67398bad
3 changed files with 25 additions and 11 deletions
|
@ -2,6 +2,8 @@ class Twenty::Servlet < WEBrick::HTTPServlet::AbstractServlet
|
|||
require_relative "servlet/response"
|
||||
require_relative "servlet/projects"
|
||||
require_relative "servlet/tasks"
|
||||
require_relative "servlet/mixin/server_mixin"
|
||||
extend ServerMixin
|
||||
|
||||
def ok(res, body = {})
|
||||
Response.new(res)
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
module Twenty::Servlet::ServerMixin
|
||||
##
|
||||
# @return [WEBrick::HTTPServer]
|
||||
# Returns an instance of WEBrick::HTTPServer.
|
||||
def server(options = {})
|
||||
server = WEBrick::HTTPServer.new server_options.merge(options)
|
||||
server.mount '/servlet/projects', Twenty::Servlet::Projects
|
||||
server.mount '/servlet/tasks', Twenty::Servlet::Tasks
|
||||
server
|
||||
end
|
||||
|
||||
##
|
||||
# @return [Hash<Symbol, String>]
|
||||
# The default server options given to WEBrick::HTTPServer.new.
|
||||
def server_options
|
||||
{
|
||||
DocumentRoot: Twenty.build,
|
||||
BindAddress: "127.0.0.1",
|
||||
Port: 2020
|
||||
}
|
||||
end
|
||||
end
|
|
@ -10,18 +10,8 @@ class Twenty::Command::Up < Twenty::Command
|
|||
private
|
||||
|
||||
def run_command
|
||||
server = WEBrick::HTTPServer.new(server_options)
|
||||
server.mount '/servlet/projects', Twenty::Servlet::Projects
|
||||
server.mount '/servlet/tasks', Twenty::Servlet::Tasks
|
||||
server = Twenty::Servlet.server
|
||||
trap(:SIGINT) { server.shutdown }
|
||||
server.start
|
||||
end
|
||||
|
||||
def server_options
|
||||
{
|
||||
DocumentRoot: Twenty.build,
|
||||
BindAddress: "127.0.0.1",
|
||||
Port: 2020
|
||||
}
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue