Started implementing Axum
This commit is contained in:
2
src/routing/mod.rs
Normal file
2
src/routing/mod.rs
Normal file
@ -0,0 +1,2 @@
|
||||
pub(crate) mod simplify;
|
||||
pub(crate) mod table;
|
37
src/routing/simplify.rs
Normal file
37
src/routing/simplify.rs
Normal file
@ -0,0 +1,37 @@
|
||||
use axum::{Router, routing::get};
|
||||
use axum::extract::{Path, Query};
|
||||
use serde::Deserialize;
|
||||
|
||||
use crate::language::{AcceptLanguage, Language};
|
||||
|
||||
pub fn router() -> Router<()> {
|
||||
Router::new()
|
||||
.nest("/simplify",
|
||||
Router::new()
|
||||
.route("/:exp", get(simplify))
|
||||
.route("/table/:exp", get(simplify_and_table)),
|
||||
)
|
||||
}
|
||||
|
||||
const fn default_true() -> bool {
|
||||
true
|
||||
}
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
struct QueryOptions {
|
||||
#[serde(default)]
|
||||
lang: Language,
|
||||
#[serde(default = "default_true")]
|
||||
simplify: bool,
|
||||
#[serde(default)]
|
||||
case_sensitive: bool,
|
||||
}
|
||||
|
||||
// TODO
|
||||
async fn simplify(Path(path): Path<String>, query: Query<QueryOptions>, accept_language: Option<AcceptLanguage>) -> String {
|
||||
format!("Path: {}, Query: {:?}, Accept-language header: {:?}", path, query, accept_language)
|
||||
}
|
||||
|
||||
async fn simplify_and_table() {
|
||||
unimplemented!("Not yet implemented")
|
||||
}
|
13
src/routing/table.rs
Normal file
13
src/routing/table.rs
Normal file
@ -0,0 +1,13 @@
|
||||
use axum::Router;
|
||||
use axum::routing::post;
|
||||
|
||||
pub fn router() -> Router<()> {
|
||||
Router::new()
|
||||
.nest("/table", Router::new()
|
||||
.route("/", post(table)),
|
||||
)
|
||||
}
|
||||
|
||||
async fn table() {
|
||||
unimplemented!("Not yet implemented")
|
||||
}
|
Reference in New Issue
Block a user