summaryrefslogtreecommitdiffstats
path: root/src/api/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/mod.rs')
-rw-r--r--src/api/mod.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/api/mod.rs b/src/api/mod.rs
index 296fa5e..bf7b06b 100644
--- a/src/api/mod.rs
+++ b/src/api/mod.rs
@@ -3,6 +3,7 @@
pub(crate) mod auth;
mod debug;
mod document;
+mod health;
mod log;
mod peers;
mod stats;
@@ -31,7 +32,8 @@ use crate::document::meta;
use crate::document::store::StoreError;
use crate::state::AppState;
-/// Builds the complete HTTP router. Everything except Swagger is authenticated.
+/// Builds the complete HTTP router. Everything except Swagger, `/health` and `/ready` is
+/// authenticated.
pub(crate) fn router(state: AppState, auth_state: AuthState, debug_api: bool) -> Router {
let mut api: Router<AppState> = Router::new()
.route("/store", get(store::get_store_root))
@@ -64,6 +66,8 @@ pub(crate) fn router(state: AppState, auth_state: AuthState, debug_api: bool) ->
api.layer(middleware::from_fn_with_state(auth_state, basic_auth))
.merge(SwaggerUi::new("/swagger-ui").url("/openapi.json", ApiDoc::openapi()))
+ .route("/health", get(health::health))
+ .route("/ready", get(health::ready))
// Outermost, so authentication failures get the error body too.
.layer(middleware::from_fn(json_errors))
.with_state(state)