Rename render -> show_paste

This commit is contained in:
Jordan Johnson-Doyle 2019-02-16 11:48:42 +00:00
parent cd3d911ca0
commit f675f75b3b
No known key found for this signature in database
GPG key ID: A95F87B578CE79B6

View file

@ -55,7 +55,7 @@ struct IndexForm {
fn submit(input: Form<IndexForm>) -> Redirect { fn submit(input: Form<IndexForm>) -> Redirect {
let id = generate_id(); let id = generate_id();
store_paste(id.clone(), input.into_inner().val); store_paste(id.clone(), input.into_inner().val);
Redirect::to(uri!(render: id)) Redirect::to(uri!(show_paste: id))
} }
#[put("/", data = "<input>")] #[put("/", data = "<input>")]
@ -67,7 +67,7 @@ fn submit_raw(input: Data, host: HostHeader) -> std::io::Result<String> {
store_paste(id.clone(), data); store_paste(id.clone(), data);
match *host { match *host {
Some(host) => Ok(format!("https://{}/{}", host, id)), Some(host) => Ok(format!("https://{}{}", host, uri!(show_paste: id))),
None => Ok(id), None => Ok(id),
} }
} }
@ -78,12 +78,12 @@ fn submit_raw(input: Data, host: HostHeader) -> std::io::Result<String> {
#[derive(Template)] #[derive(Template)]
#[template(path = "paste.html")] #[template(path = "paste.html")]
struct Render { struct ShowPaste {
content: MarkupDisplay<Html, String>, content: MarkupDisplay<Html, String>,
} }
#[get("/<key>")] #[get("/<key>")]
fn render(key: String, plaintext: IsPlaintextRequest) -> Result<Content<String>, Status> { fn show_paste(key: String, plaintext: IsPlaintextRequest) -> Result<Content<String>, Status> {
let mut splitter = key.splitn(2, '.'); let mut splitter = key.splitn(2, '.');
let key = splitter.next().ok_or_else(|| Status::NotFound)?; let key = splitter.next().ok_or_else(|| Status::NotFound)?;
let ext = splitter.next(); let ext = splitter.next();
@ -95,16 +95,14 @@ fn render(key: String, plaintext: IsPlaintextRequest) -> Result<Content<String>,
if *plaintext { if *plaintext {
Ok(Content(ContentType::Plain, entry)) Ok(Content(ContentType::Plain, entry))
} else { } else {
let template = Render { let content = match ext {
content: match ext { None => MarkupDisplay::new_unsafe(entry, Html),
None => MarkupDisplay::new_unsafe(entry, Html), Some(extension) => highlight(&entry, extension)
Some(extension) => highlight(&entry, extension) .map(|h| MarkupDisplay::new_safe(h, Html))
.map(|h| MarkupDisplay::new_safe(h, Html)) .ok_or_else(|| Status::NotFound)?,
.ok_or_else(|| Status::NotFound)?,
},
}; };
template ShowPaste { content }
.render() .render()
.map(|html| Content(ContentType::HTML, html)) .map(|html| Content(ContentType::HTML, html))
.map_err(|_| Status::InternalServerError) .map_err(|_| Status::InternalServerError)
@ -113,6 +111,6 @@ fn render(key: String, plaintext: IsPlaintextRequest) -> Result<Content<String>,
fn main() { fn main() {
rocket::ignite() rocket::ignite()
.mount("/", routes![index, submit, submit_raw, render]) .mount("/", routes![index, submit, submit_raw, show_paste])
.launch(); .launch();
} }