diff options
| author | Fuwn <[email protected]> | 2023-03-30 02:02:57 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-03-30 02:02:57 -0700 |
| commit | 7e1c907be3612b77f66f93b4dcfa388aad201430 (patch) | |
| tree | d8385027739070f7c331a1ee0bec1adc60050c42 /src/modules/router.rs | |
| parent | feat(router): add uwufy demo (diff) | |
| download | locus-7e1c907be3612b77f66f93b4dcfa388aad201430.tar.xz locus-7e1c907be3612b77f66f93b4dcfa388aad201430.zip | |
feat(router): add translation engine
Diffstat (limited to 'src/modules/router.rs')
| -rw-r--r-- | src/modules/router.rs | 69 |
1 files changed, 3 insertions, 66 deletions
diff --git a/src/modules/router.rs b/src/modules/router.rs index ade7d33..8f24a9b 100644 --- a/src/modules/router.rs +++ b/src/modules/router.rs @@ -16,70 +16,7 @@ // Copyright (C) 2022-2022 Fuwn <[email protected]> // SPDX-License-Identifier: GPL-3.0-only -use crate::DATABASE; +mod deepl; +mod module; -pub fn module(router: &mut windmark::Router) { - router.set_pre_route_callback(Box::new(|context| { - info!( - "accepted connection from {} to {}", - context.tcp.peer_addr().unwrap().ip(), - context.url.to_string(), - ); - - let url_path = if context.url.path().is_empty() { - "/" - } else { - context.url.path() - }; - - let previous_database = (*DATABASE.lock().unwrap()).get::<i32>(url_path); - - match previous_database { - None => { - (*DATABASE.lock().unwrap()) - .set::<i32>(url_path, &0) - .unwrap(); - } - Some(_) => {} - } - - let new_database = (*DATABASE.lock().unwrap()).get::<i32>(url_path); - - (*DATABASE.lock().unwrap()) - .set(url_path, &(new_database.unwrap() + 1)) - .unwrap(); - })); - - router.set_post_route_callback(Box::new(|context, content| { - info!( - "closed connection from {} to {}", - context.tcp.peer_addr().unwrap().ip(), - context.url.to_string(), - ); - - // Just a simple demo for now. - if let Some(uwu) = - windmark::utilities::queries_from_url(context.url).get("uwu") - { - if uwu.to_lowercase() == "true" || uwu == "1" { - let mut lines = content - .lines() - .map(ToString::to_string) - .collect::<Vec<String>>(); - - for line in &mut lines { - if !line.starts_with("=>") { - *line = line - .replace('l', "w") - .replace('r', "w") - .replace('L', "W") - .replace('R', "W") - .replace('!', "! >w<"); - } - } - - *content = lines.join("\n"); - } - } - })); -} +pub use module::module; |