Module: TP2
- Defined in:
- lib/tp2.rb,
lib/tp2/errors.rb,
lib/tp2/logger.rb,
lib/tp2/server.rb,
lib/tp2/version.rb,
lib/tp2/connection.rb,
lib/tp2/rack_adapter.rb
Defined Under Namespace
Modules: RackAdapter
Classes: Connection, Logger, ProtocolError, Server, UnsupportedHTTPVersionError
Constant Summary
collapse
- BANNER =
(
"\n" +
" ooo\n" +
" oo\n" +
" o\n" +
" \\|/ TP2 - a modern web server for Ruby apps\n" +
" / \\ \n" +
" / x \\ https://github.com/noteflakes/tp2\n" +
"⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺\n"
)
- VERSION =
'0.19.3'
Class Method Summary
collapse
Class Method Details
.env(env = nil, &app) ⇒ Object
51
52
53
54
55
56
|
# File 'lib/tp2.rb', line 51
def env(env = nil, &app)
return @env if !env && !app
@env = env || {}
@env[:app] = app if app
end
|
.run(env = {}, &app) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/tp2.rb', line 27
def run(env = {}, &app)
if @in_run
@env = env
@env[:app] = app if app
return
end
env ||= @env || {}
begin
@in_run = true
machine = env[:machine] || UM.new
machine.puts(env[:banner]) if env[:banner]
env[:logger]&.info(message: "Running TP2 #{TP2::VERSION}, UringMachine #{UM::VERSION}, Ruby #{RUBY_VERSION}")
server = Server.new(machine, env, &app)
setup_signal_handling(machine, Fiber.current)
server.run
ensure
@in_run = false
end
end
|