StatusCodeTracker.HealthPlug (status_code_tracker v0.1.3)
A plug for responding to heartbeat requests.
This plug responds with a successful status to GET
or HEAD
requests at a
specific path so that clients can check if a server is alive.
The response that this plug sends is a 200 OK response with body OK
. By
default, the path that responds to the heartbeat is /health
, but it
can be configured.
Note that this plug halts the connection. This is done so that it can be
plugged near the top of a plug pipeline and catch requests early so that
subsequent plugs don't have the chance to tamper the connection.
Read more about halting connections in the docs for
Plug.Builder
.
Options
The following options can be used when calling plug PlugHeartbeat
.
:path
- a string expressing the path on whichPlugHeartbeat
will be mounted to respond to heartbeat requests:json
- a boolean which determines whether the response will be anapplication/json
response (iftrue
) or a regular response.
Examples
defmodule MyEndpoint do
use Plug.Builder
plug StatusCodeTracker.HealthPlug
# ... rest of the pipeline
end
defmodule MyServerWeb.Router do
use Plug.Builder
plug StatusCodeTracker.HealthPlug
scope "/health" do
get("/", StatusCodeTracker.HealthPlug, [])
end
# ... rest of the router
end
Using a custom heartbeat path is easy:
defmodule MyEndpoint do
use Plug.Builder
plug StatusCodeTracker.HealthPlug, path: "/heartbeat"
# ... rest of the pipeline
end
Link to this section Summary
Link to this section Functions
call(conn, opts)
Callback implementation for Plug.call/2
.
init(opts)
Callback implementation for Plug.init/1
.