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.
31 lines
772 B
31 lines
772 B
mod config;
|
|
pub mod gemini;
|
|
pub mod http;
|
|
|
|
pub use config::*;
|
|
|
|
use std::borrow;
|
|
|
|
fn append_index_to_path<'path>(path: &'path str, index: &str) -> borrow::Cow<'path, str> {
|
|
if path.is_empty() {
|
|
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()
|
|
}
|
|
|