mirror of
https://github.com/YGGverse/titanit.git
synced 2026-03-31 17:15:30 +00:00
build short uri
This commit is contained in:
parent
2532b3e11c
commit
a5e345eaa8
2 changed files with 20 additions and 1 deletions
13
src/main.rs
13
src/main.rs
|
|
@ -139,7 +139,18 @@ fn handle(argument: Arc<Argument>, peer: SocketAddr, stream: &mut TlsStream<TcpS
|
||||||
Ok(_) => match tmp.commit() {
|
Ok(_) => match tmp.commit() {
|
||||||
Ok(pmt) => send(
|
Ok(pmt) => send(
|
||||||
&response::redirect::Permanent {
|
&response::redirect::Permanent {
|
||||||
target: pmt.path.to_str().unwrap().to_owned(),
|
target: match argument.redirect {
|
||||||
|
Some(ref target) => format!(
|
||||||
|
"{}/{}",
|
||||||
|
target.trim_end_matches("/"),
|
||||||
|
pmt.to_uri(&argument.directory)
|
||||||
|
),
|
||||||
|
None => format!(
|
||||||
|
"gemini://{}/{}",
|
||||||
|
argument.bind,
|
||||||
|
pmt.to_uri(&argument.directory)
|
||||||
|
)
|
||||||
|
},
|
||||||
}
|
}
|
||||||
.into_bytes(),
|
.into_bytes(),
|
||||||
stream,
|
stream,
|
||||||
|
|
|
||||||
|
|
@ -89,6 +89,14 @@ impl Item {
|
||||||
|
|
||||||
// Getters
|
// Getters
|
||||||
|
|
||||||
|
pub fn to_uri(&self, directory: &str) -> String {
|
||||||
|
self.path
|
||||||
|
.to_str()
|
||||||
|
.unwrap()
|
||||||
|
.replace(directory, "")
|
||||||
|
.replace("/", "")
|
||||||
|
}
|
||||||
|
|
||||||
/* @TODO implement short links handle without slash
|
/* @TODO implement short links handle without slash
|
||||||
pub fn alias(&self, relative: &str) -> String {} */
|
pub fn alias(&self, relative: &str) -> String {} */
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue