Count and show views
This commit is contained in:
parent
d0a4bbf349
commit
7c1969fa0b
18
src/main.rs
18
src/main.rs
@ -43,16 +43,10 @@ struct Comment {
|
||||
text: Box<str>,
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
struct SiteInfo {
|
||||
comments: Vec<Comment>,
|
||||
}
|
||||
|
||||
impl SiteInfo {
|
||||
fn new() -> Self {
|
||||
Self {
|
||||
comments: Vec::new(),
|
||||
}
|
||||
}
|
||||
visits: usize,
|
||||
}
|
||||
|
||||
#[derive(Default)]
|
||||
@ -140,7 +134,7 @@ impl Context {
|
||||
use Entry::*;
|
||||
let info = match self.infos.entry(relative_path.clone().into_boxed_str()) {
|
||||
Occupied(o) => o.into_mut(),
|
||||
Vacant(v) => v.insert(SiteInfo::new()),
|
||||
Vacant(v) => v.insert(SiteInfo::default()),
|
||||
};
|
||||
|
||||
let mut entries = request.body.split('&');
|
||||
@ -175,16 +169,20 @@ impl Context {
|
||||
}
|
||||
}
|
||||
|
||||
info.visits += 1;
|
||||
|
||||
let _ = write!(stream, "HTTP/1.1 200 OK\r\n\r\n");
|
||||
|
||||
let _ = writeln!(stream, "<meta charset=\"utf-8\">");
|
||||
|
||||
let _ = writeln!(stream, "<p>👁️{}</p>", info.visits);
|
||||
|
||||
let title = relative_path
|
||||
.rsplit_once('/')
|
||||
.map(|(_, title)| title)
|
||||
.unwrap_or(&relative_path);
|
||||
if !title.is_empty() {
|
||||
let _ = write!(stream, "<h1>{title}</h1>");
|
||||
let _ = writeln!(stream, "<h1>{title}</h1>");
|
||||
}
|
||||
|
||||
let path_ref = &path;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user