diff --git a/src/main.rs b/src/main.rs index d280a05..47e33d8 100644 --- a/src/main.rs +++ b/src/main.rs @@ -55,8 +55,9 @@ struct IndexForm { #[post("/", data = "")] fn submit(input: Form) -> Redirect { let id = generate_id(); - store_paste(id.clone(), input.into_inner().val); - Redirect::to(uri!(show_paste: id)) + let uri = uri!(show_paste: &id); + store_paste(id, input.into_inner().val); + Redirect::to(uri) } #[put("/", data = "")] @@ -65,11 +66,13 @@ fn submit_raw(input: Data, host: HostHeader) -> std::io::Result { input.open().take(1024 * 1000).read_to_string(&mut data)?; let id = generate_id(); - store_paste(id.clone(), data); + let uri = uri!(show_paste: &id); + + store_paste(id, data); match *host { - Some(host) => Ok(format!("https://{}{}", host, uri!(show_paste: id))), - None => Ok(id), + Some(host) => Ok(format!("https://{}{}", host, uri)), + None => Ok(format!("{}", uri)), } }