Ajouter un healthcheck
Nouvelle dépendance
Dans lib.rs
extern crate time;
Module health
Dans health.rs
Ajouter les imports
use actix_web::{HttpRequest, HttpResponse};
use time;
Déclarer les données retournées
#[derive(Serialize)]
pub struct Healthcheck {
now: i64,
version: &'static str,
status: &'static str,
}
Retourner les données
pub fn healthcheck(_: HttpRequest<super::AppState>) -> HttpResponse {
HttpResponse::Ok().json(Healthcheck {
now: time::now_utc().to_timespec().sec,
version: env!("CARGO_PKG_VERSION"),
status: "Reviews is healthy",
})
}
Ajouter la route pour /GET healthcheck
Dans lib.rs
mod health;
.resource("/health", |r| {
r.method(http::Method::GET).f(health::healthcheck)
})
Résultat
curl localhost:9081/health
{
"status" : "Reviews is healthy",
"now" : 1524179124,
"version" : "0.1.0"
}