Domani connects your domain to whatever you want to host on it, all with no account needed
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
mod config;
|
|
|
|
pub mod gemini;
|
|
|
|
pub mod http;
|
|
|
|
|
|
|
|
pub use config::*;
|
|
|
|
|
|
|
|
use std::borrow;
|
|
|
|
|
|
|
|
fn append_index_to_path<'path, 'index>(
|
|
|
|
path: &'path str,
|
|
|
|
index: &'index str,
|
|
|
|
) -> borrow::Cow<'path, str> {
|
|
|
|
if path.len() == 0 {
|
|
|
|
let mut path = String::with_capacity(1 + index.len());
|
|
|
|
path.push('/');
|
|
|
|
path.push_str(index);
|
|
|
|
return borrow::Cow::Owned(path);
|
|
|
|
}
|
|
|
|
|
|
|
|
if path.ends_with('/') {
|
|
|
|
let mut indexed_path = String::with_capacity(path.len() + index.len());
|
|
|
|
indexed_path.push_str(path.as_ref());
|
|
|
|
indexed_path.push_str(index);
|
|
|
|
return borrow::Cow::Owned(indexed_path);
|
|
|
|
}
|
|
|
|
|
|
|
|
borrow::Cow::Borrowed(path)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn guess_mime(path: &str) -> String {
|
|
|
|
mime_guess::from_path(path)
|
|
|
|
.first_or_octet_stream()
|
|
|
|
.to_string()
|
|
|
|
}
|