Class: Pliny::Middleware::Timeout
- Inherits:
-
Object
- Object
- Pliny::Middleware::Timeout
- Defined in:
- lib/pliny/middleware/timeout.rb
Overview
Requires that Pliny::Middleware::RescueErrors is nested above it.
Defined Under Namespace
Classes: RequestTimeout
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, options = {}) ⇒ Timeout
constructor
A new instance of Timeout.
Constructor Details
#initialize(app, options = {}) ⇒ Timeout
Returns a new instance of Timeout.
6 7 8 9 |
# File 'lib/pliny/middleware/timeout.rb', line 6 def initialize(app, ={}) @app = app @timeout = [:timeout] || 45 end |
Instance Method Details
#call(env) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'lib/pliny/middleware/timeout.rb', line 11 def call(env) ::Timeout.timeout(@timeout, RequestTimeout) do @app.call(env) end rescue RequestTimeout # Pliny::Sample.measure "requests.timeouts" raise Pliny::Errors::ServiceUnavailable, "Timeout reached." end |