Fix latency issue

This commit is contained in:
Michael Mikovsky
2025-12-21 17:58:04 -07:00
parent 78fda07ab2
commit 1d7845e725
15 changed files with 1113 additions and 120 deletions
+9 -5
View File
@@ -12,15 +12,19 @@ unshell-lib = {path = "../unshell-lib", default-featues = false}
unshell-obfuscate = {path = "../unshell-obfuscate", default-featues = false}
unshell-manager = {path = "../unshell-manager", default-featues = false}
clap = {version = "4.5.53", features = ["derive"]}
axum = "0.8.7"
axum-extra = {version="0.12.2", features = ["typed-header"]}
jsonwebtoken = {version = "10.2.0", features = ["aws_lc_rs"]}
tokio = {version="1.48.0", features = ["full"] }
serde = {version = "1.0.228", features = ["derive"]}
serde_json = "1.0.145"
tokio = {version="1.48.0", features = ["full"] }
bcrypt = "0.17.1"
chrono = "0.4.42"
static_init = "1.0.4"
clap = {version = "4.5.53", features = ["derive"]}
sled = "0.34.7"
toml = "0.9.9"
jsonwebtoken = {version = "10.2.0", features = ["aws_lc_rs"]}
bcrypt = "0.17.1"
sled = "0.34.7"
+5
View File
@@ -51,6 +51,11 @@ pub async fn start_api(address: &str, server: Server) {
router = route_get!(router, "/api/interface/", Server::get_tree2_root);
router = route_get!(router, "/api/interface/{*path}", Server::get_tree2);
// router = router.route("/api/interface", get(Server::get_tree2_root));
// router = router.route("/api/interface/{*path}", post(Server::post_tree2));
router = route_post!(router, "/api/interface/{*path}", Server::post_tree2);
// router = route_get_log(router);
+12 -12
View File
@@ -58,7 +58,7 @@ pub async fn authorize(mut req: Request, next: Next) -> Result<Response<Body>, A
let (_, token) = (header.next(), header.next());
let token_data: TokenData<Cliams> = match decode_jwt(token.unwrap().to_string()) {
let _token_data: TokenData<Cliams> = match decode_jwt(token.unwrap().to_string()) {
Ok(data) => data,
Err(_) => {
return Err(AuthError {
@@ -68,18 +68,18 @@ pub async fn authorize(mut req: Request, next: Next) -> Result<Response<Body>, A
}
};
// Fetch the user details from the database
let current_user = match retrieve_user_by_email(&token_data.claims.email) {
Some(user) => user,
None => {
return Err(AuthError {
message: "Unauthorized".to_string(),
status_code: StatusCode::UNAUTHORIZED,
});
}
};
// // Fetch the user details from the database
// let current_user = match retrieve_user_by_email(&token_data.claims.email) {
// Some(user) => user,
// None => {
// return Err(AuthError {
// message: "Unauthorized".to_string(),
// status_code: StatusCode::UNAUTHORIZED,
// });
// }
// };
req.extensions_mut().insert(current_user);
// req.extensions_mut().insert(current_user);
Ok(next.run(req).await)
}
+7 -5
View File
@@ -15,15 +15,15 @@ use crate::{Server, auth::structs::CurrentUser};
impl Server {
pub async fn get_tree2_root(
State(server): State<Server>,
Extension(extension): Extension<CurrentUser>,
// Extension(extension): Extension<CurrentUser>,
) -> Json<Value> {
Self::get_tree2(State(server), Path("".into()), Extension(extension)).await
Self::get_tree2(State(server), Path("".into())).await
}
pub async fn get_tree2(
State(mut server): State<Server>,
Path(path): Path<String>,
Extension(_): Extension<CurrentUser>,
// Extension(_): Extension<CurrentUser>,
) -> Json<Value> {
debug!("GET /api/interface/{}", path);
@@ -37,10 +37,12 @@ impl Server {
pub async fn post_tree2(
State(mut server): State<Server>,
Path(path): Path<String>,
Extension(_): Extension<CurrentUser>,
// Extension(_): Extension<CurrentUser>,
Json(tree_message): Json<TreeMessage>,
) -> Json<Value> {
debug!("POST /api/interface/{}", path);
debug!("POST /api/interface/");
// Json(Value::Null)
let result = server
.get(&path, tree_message)