Module: NuHttp
- Defined in:
- lib/nuhttp/app.rb,
lib/nuhttp.rb,
lib/nuhttp/router.rb,
lib/nuhttp/server.rb,
lib/nuhttp/builder.rb,
lib/nuhttp/context.rb,
lib/nuhttp/version.rb,
lib/nuhttp/rack_port.rb,
lib/nuhttp/herb_renderer.rb
Overview
rbs_inline: enabled
Defined Under Namespace
Classes: App, Builder, Context, EmptyBinding, Error, HerbRenderer, RackPort, Request, Response, Router, Server
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.app(&block) ⇒ Object
Entrypoint to define a NuHttp app.
-
.ractor_app(&block) ⇒ Object
Entrypoint to define a Ractor-compatible NuHttp app.
Class Method Details
.app(&block) ⇒ Object
Entrypoint to define a NuHttp app. If a block is given, a NuHttp::Builder is yielded. If not, a bare builder will be returned.
17 18 19 20 21 22 |
# File 'lib/nuhttp.rb', line 17 def self.app(&block) builder = Builder.new return builder if block == nil block.call(builder) builder.build end |
.ractor_app(&block) ⇒ Object
Entrypoint to define a Ractor-compatible NuHttp app. Note that many features will be restricted in Ractor mode. See Ruby documentation for details on Ractor limitations.
28 29 30 31 32 33 34 35 |
# File 'lib/nuhttp.rb', line 28 def self.ractor_app(&block) # Ractor-compatible apps must be frozen at the time of creation raise ArgumentError if block == nil builder = Builder.new(ractor_compat: true) block.call(builder) builder.build end |