healthcheck implemented

This commit is contained in:
Martin Brodbeck 2023-09-25 15:54:07 +02:00
parent 3b42995e47
commit 514fa9d48f
3 changed files with 30 additions and 2 deletions

2
Cargo.lock generated
View file

@ -250,6 +250,8 @@ name = "kosyncrs"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"axum", "axum",
"serde",
"serde_json",
"tokio", "tokio",
] ]

View file

@ -7,4 +7,6 @@ edition = "2021"
[dependencies] [dependencies]
axum = "0.6.20" axum = "0.6.20"
serde = "1.0.188"
serde_json = "1.0.107"
tokio = { version = "1.32.0", features = ["macros", "rt-multi-thread"] } tokio = { version = "1.32.0", features = ["macros", "rt-multi-thread"] }

View file

@ -1,9 +1,17 @@
use axum::{routing::get, Router}; use axum::{http::StatusCode, routing::get, routing::post, routing::put, Json, Router};
use serde_json::{json, Value};
#[tokio::main] #[tokio::main]
async fn main() { async fn main() {
// build our application with a single route // build our application with a single route
let app = Router::new().route("/", get(|| async { "Hello, World!" })); let app = Router::new()
.route("/", get(root))
.route("/users/create", post(create_user))
.route("/users/auth", get(auth_user))
.route("/syncs/progress", put(update_progress))
.route("/syncs/progress/:document", put(get_progress))
.route("/healthcheck", get(healthcheck));
// run it with hyper on localhost:3000 // run it with hyper on localhost:3000
axum::Server::bind(&"0.0.0.0:3000".parse().unwrap()) axum::Server::bind(&"0.0.0.0:3000".parse().unwrap())
@ -11,3 +19,19 @@ async fn main() {
.await .await
.unwrap(); .unwrap();
} }
async fn root() -> &'static str {
"Hello, world!"
}
async fn create_user() {}
async fn auth_user() {}
async fn update_progress() {}
async fn get_progress() {}
async fn healthcheck() -> (StatusCode, Json<Value>) {
(StatusCode::OK, Json(json!({ "state": "OK" })))
}