diff options
Diffstat (limited to 'src/modules/directory.rs')
| -rw-r--r-- | src/modules/directory.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/modules/directory.rs b/src/modules/directory.rs new file mode 100644 index 0000000..9eddc31 --- /dev/null +++ b/src/modules/directory.rs @@ -0,0 +1,21 @@ +pub fn module(router: &mut windmark::router::Router) { + crate::route::track_mount( + router, + "/directory", + "A map of all publicly available routes on this Gemini capsule", + |context| { + crate::response::success( + &format!( + "# Directory\n\nA map of all publicly available routes on this \ + Gemini capsule\n\n{}", + (*crate::route::ROUTES.lock().unwrap()) + .iter() + .map(|(r, d)| format!("=> {} {}", r, d.description)) + .collect::<Vec<_>>() + .join("\n") + ), + &context, + ) + }, + ); +} |