Class: Igniter::Store::HTTPAdapter::ReadyHandler
- Inherits:
-
Object
- Object
- Igniter::Store::HTTPAdapter::ReadyHandler
- Includes:
- ResponseHelper
- Defined in:
- lib/igniter/store/http_adapter.rb
Overview
Readiness probe: 200 when ready to serve traffic, 503 otherwise (draining, stopped, or initialising). ready_provider must return truthy/falsy.
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(ready_provider: nil) ⇒ ReadyHandler
constructor
A new instance of ReadyHandler.
Constructor Details
#initialize(ready_provider: nil) ⇒ ReadyHandler
Returns a new instance of ReadyHandler.
108 109 110 |
# File 'lib/igniter/store/http_adapter.rb', line 108 def initialize(ready_provider: nil) @ready_provider = ready_provider end |
Instance Method Details
#call(env) ⇒ Object
112 113 114 115 116 117 118 119 120 121 |
# File 'lib/igniter/store/http_adapter.rb', line 112 def call(env) return method_not_allowed unless env["REQUEST_METHOD"] == "GET" ready = @ready_provider ? @ready_provider.call : true if ready json_response(200, { status: "ready" }) else json_response(503, { status: "unavailable" }) end end |