io.vertx.ext.healthchecks

## Interface HealthCheckHandler

- All Superinterfaces:
    Handler<RoutingContext>

      public interface HealthCheckHandler
      extends Handler<RoutingContext>

  A Vert.x Web handler on which you register health check procedure. It computes the outcome status (`UP` or `DOWN`) . When the handler process a HTTP request, it computes the global outcome and build a HTTP response as follows:

  - 204 - status is `UP` but no procedures installed (no payload)
  - 200 - status is `UP`, the payload contains the result of the installed procedures
  - 503 - status is `DOWN`, the payload contains the result of the installed procedures
  - 500 - status is `DOWN`, the payload contains the result of the installed procedures, one of the procedure has failed
  Author:
    Clement Escoffier

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static HealthCheckHandler` | `create(Vertx vertx)` Creates an instance of the default implementation of the `HealthCheckHandler`.
    `static HealthCheckHandler` | `create(Vertx vertx, AuthenticationProvider provider)` Creates an instance of the default implementation of the `HealthCheckHandler`.
    `static HealthCheckHandler` | `createWithHealthChecks(HealthChecks hc)` Creates an instance of the default implementation of the `HealthCheckHandler`.
    `static HealthCheckHandler` | `createWithHealthChecks(HealthChecks hc, AuthenticationProvider provider)` Creates an instance of the default implementation of the `HealthCheckHandler`.
    `HealthCheckHandler` | `register(String name, Handler<Promise<Status>> procedure)` Registers a health check procedure.
    `HealthCheckHandler` | `register(String name, long timeout, Handler<Promise<Status>> procedure)` Registers a health check procedure.
    `HealthCheckHandler` | `unregister(String name)` Unregisters a procedure.

    - ### Methods inherited from interface io.vertx.core.Handler

      `handle`

- - ### Method Detail

    - #### create

          static HealthCheckHandler create(Vertx vertx,
                                           AuthenticationProvider provider)

      Creates an instance of the default implementation of the `HealthCheckHandler`. This function creates a new instance of `HealthChecks`.
      Parameters:
        `vertx` - the Vert.x instance, must not be `null`
        `provider` - the Authentication provider used to authenticate the HTTP request
      Returns:
        the created instance

    - #### create

          static HealthCheckHandler create(Vertx vertx)

      Creates an instance of the default implementation of the `HealthCheckHandler`. This function creates a new instance of `HealthChecks`.
      Parameters:
        `vertx` - the Vert.x instance, must not be `null`
      Returns:
        the created instance

    - #### createWithHealthChecks

          static HealthCheckHandler createWithHealthChecks(HealthChecks hc,
                                                           AuthenticationProvider provider)

      Creates an instance of the default implementation of the `HealthCheckHandler`.
      Parameters:
        `hc` - the health checks object to use, must not be `null`
      Returns:
        the created instance

    - #### createWithHealthChecks

          static HealthCheckHandler createWithHealthChecks(HealthChecks hc)

      Creates an instance of the default implementation of the `HealthCheckHandler`.
      Parameters:
        `hc` - the health checks object to use
      Returns:
        the created instance

    - #### register

          HealthCheckHandler register(String name,
                                      Handler<Promise<Status>> procedure)

      Registers a health check procedure.

      The procedure is a `Handler` taking a `Promise` of `Status` as parameter. Procedures are asynchronous, and must complete or fail the given `Promise`. If the future object is failed, the procedure outcome is considered as `DOWN`. If the future is completed without any object, the procedure outcome is considered as `UP`. If the future is completed with a (not-null) `Status`, the procedure outcome is the received status.

      This method uses a 1s timeout. To configure the timeout use `register(String, long, Handler)`.

      Parameters:
        `name` - the name of the procedure, must not be `null` or empty
        `procedure` - the procedure, must not be `null`
      Returns:
        the current `HealthCheckHandler`

    - #### register

          HealthCheckHandler register(String name,
                                      long timeout,
                                      Handler<Promise<Status>> procedure)

      Registers a health check procedure.

      The procedure is a `Handler` taking a `Promise` of `Status` as parameter. Procedures are asynchronous, and must complete or fail the given `Promise`. If the future object is failed, the procedure outcome is considered as `DOWN`. If the future is completed without any object, the procedure outcome is considered as `UP`. If the future is completed with a (not-null) `Status`, the procedure outcome is the received status.

      Parameters:
        `name` - the name of the procedure, must not be `null` or empty
        `timeout` - the procedure timeout
        `procedure` - the procedure, must not be `null`
      Returns:
        the current `HealthCheckHandler`

    - #### unregister

          HealthCheckHandler unregister(String name)

      Unregisters a procedure.
      Parameters:
        `name` - the name of the procedure
      Returns:
        the current `HealthCheckHandler`

Copyright © 2021 Eclipse. All rights reserved.