Module: Otto::Core::LifecycleHooks
- Included in:
- Otto
- Defined in:
- lib/otto/core/lifecycle_hooks.rb
Overview
Lifecycle hooks module for registering callbacks at various points in request processing. Provides the public API for request completion callbacks.
Instance Method Summary collapse
-
#on_request_complete {|request, response, duration| ... } ⇒ self
Register a callback to be executed after each request completes.
-
#request_complete_callbacks ⇒ Array<Proc>
private
Get registered request completion callbacks (for internal use).
Instance Method Details
#on_request_complete {|request, response, duration| ... } ⇒ self
Register a callback to be executed after each request completes
Instance-level request completion callbacks allow each Otto instance to have its own isolated set of callbacks, preventing duplicate invocations in multi-app architectures (e.g., Rack::URLMap).
The callback receives three arguments:
-
request: Rack::Request object
-
response: Rack::Response object (wrapping the response tuple)
-
duration: Request processing duration in microseconds
48 49 50 51 52 |
# File 'lib/otto/core/lifecycle_hooks.rb', line 48 def on_request_complete(&block) ensure_not_frozen! @request_complete_callbacks << block if block_given? self end |
#request_complete_callbacks ⇒ Array<Proc>
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Get registered request completion callbacks (for internal use)
58 59 60 |
# File 'lib/otto/core/lifecycle_hooks.rb', line 58 def request_complete_callbacks @request_complete_callbacks end |