aboutsummaryrefslogtreecommitdiff
path: root/src/modules/router.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-03-30 02:02:57 -0700
committerFuwn <[email protected]>2023-03-30 02:02:57 -0700
commit7e1c907be3612b77f66f93b4dcfa388aad201430 (patch)
treed8385027739070f7c331a1ee0bec1adc60050c42 /src/modules/router.rs
parentfeat(router): add uwufy demo (diff)
downloadlocus-7e1c907be3612b77f66f93b4dcfa388aad201430.tar.xz
locus-7e1c907be3612b77f66f93b4dcfa388aad201430.zip
feat(router): add translation engine
Diffstat (limited to 'src/modules/router.rs')
-rw-r--r--src/modules/router.rs69
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;