Browse Source

feat: add favicon (#27)

Return favicon only if requested, avoid 404 errors

close #16
pull/29/head
sigoden 3 years ago committed by GitHub
parent
commit
261c8b6ee5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. BIN
      assets/favicon.ico
  2. 7
      src/server.rs

BIN
assets/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

7
src/server.rs

@ -44,6 +44,7 @@ type Response = hyper::Response<Body>; @@ -44,6 +44,7 @@ type Response = hyper::Response<Body>;
const INDEX_HTML: &str = include_str!("../assets/index.html");
const INDEX_CSS: &str = include_str!("../assets/index.css");
const INDEX_JS: &str = include_str!("../assets/index.js");
const FAVICON_ICO: &[u8] = include_bytes!("../assets/favicon.ico");
const INDEX_NAME: &str = "index.html";
const BUF_SIZE: usize = 1024 * 16;
@ -174,6 +175,12 @@ impl InnerService { @@ -174,6 +175,12 @@ impl InnerService {
status!(res, StatusCode::NOT_FOUND);
return Ok(res);
}
if is_miss && path.ends_with("favicon.ico") {
*res.body_mut() = Body::from(FAVICON_ICO);
res.headers_mut()
.insert("content-type", "image/x-icon".parse().unwrap());
return Ok(res);
}
let headers = req.headers();

Loading…
Cancel
Save