~/selfhut

selfhut/src/main.rs -rw-r--r-- 800 B
7dbdfabf — arthurmelton I did alot, I should have commited more 2 years ago
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#[macro_use]
extern crate rocket;
mod git;
mod index;
mod repository;
mod utils;
mod clone;

use utils::config;

use rocket::fs::relative;
use rocket::fs::FileServer;
use rocket_dyn_templates::Template;
use crate::repository::summary;
use crate::repository::tree;
use crate::repository::raw;
use crate::utils::own_pathbuf::PathBufWithDotfiles;

#[launch]
fn rocket() -> _ {
    rocket::build()
        .mount("/", routes![file_server, index::index, summary::repository, tree::tree_main, tree::tree, clone::clone, raw::raw])
        .attach(Template::fairing())
}

#[get("/static/<path..>")]
async fn file_server(path: PathBufWithDotfiles) -> Option<rocket::fs::NamedFile> {
    let path = std::path::Path::new(relative!("static")).join(path.get());
    rocket::fs::NamedFile::open(path).await.ok()
}