StatusCodeTracker.HealthPlug (status_code_tracker v0.1.0)

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 which PlugHeartbeat will be mounted to respond to heartbeat requests
  • :json - a boolean which determines whether the response will be an application/json response (if true) 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

Functions

Callback implementation for Plug.call/2.

Callback implementation for Plug.init/1.

Link to this section Functions

Link to this function

call(conn, opts)

Callback implementation for Plug.call/2.

Callback implementation for Plug.init/1.