From 9a56bcb1a0a0612dd6868e4d635cba89fda5ba2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B0=D0=BC=D1=98=D0=B0=D0=BD=20=D0=93=D0=B5=D0=BE?= =?UTF-8?q?=D1=80=D0=B3=D0=B8=D0=B5=D0=B2=D1=81=D0=BA=D0=B8?= Date: Sun, 8 Jul 2018 16:11:19 +0200 Subject: [PATCH] slight reorganization of the html generation --- src/web.rs | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/src/web.rs b/src/web.rs index 7d0b473..33261ef 100644 --- a/src/web.rs +++ b/src/web.rs @@ -25,35 +25,38 @@ fn handle_directory<'a, 'b>( .filter_map(|r| r.ok()) .collect(); paths.sort_by_key(|r| (!r.metadata().unwrap().file_type().is_dir(), r.file_name())); - let mut t = String::from(" - \n"); + let mut body = String::new(); + body.push_str(&format!("

Index of {index}

[.tar of whole directory]
+
📁 ../Size
+ \n", index=req.path())); for entry in paths { let meta = entry.metadata()?; let file_url = utf8_percent_encode(&entry.file_name().to_string_lossy(), DEFAULT_ENCODE_SET).to_string(); let file_name = escape_html_entity(&entry.file_name().to_string_lossy()); let size = meta.len(); - t.push_str(""); + body.push_str(""); if meta.file_type().is_dir() { - t.push_str(&format!("", file_name=file_name, file_url=file_url)); - t.push_str(&format!("\n", file_url=file_url)); + body.push_str(&format!("", file_name=file_name, file_url=file_url)); + body.push_str(&format!("", file_url=file_url)); } else { - t.push_str(&format!("", file_name=file_name, file_url=file_url)); - t.push_str(&format!("", size=size)); + body.push_str(&format!("", file_name=file_name, file_url=file_url)); + body.push_str(&format!("", size=size)); } - t.push_str("\n"); + body.push_str("\n"); } - t.push_str("
📁 ../Size
📂 {file_name}/[.tar]📂 {file_name}/[.tar]🗎 {file_name}{size}🗎 {file_name}{size}
"); - let mut body = String::from(format!(" + body.push_str("
\n"); + + let mut html = String::from(format!(" Index of {index} - + - -

Index of {index}


\n", index=req.path())); - body.push_str(t.as_str()); - body.push_str("
\n"); - Ok(HttpResponse::Ok().content_type("text/html; charset=utf-8").body(body)) + \n", index=req.path())); + html.push_str(body.as_str()); + html.push_str("\n"); + + Ok(HttpResponse::Ok().content_type("text/html; charset=utf-8").body(html)) } fn handle_tar(req: &HttpRequest) -> impl Responder {