commit ebb36235a70a2c539a7656454de3478ae776aa22
parent def174a517716967b80d5ecb8407772668bfd631
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Thu, 30 Jan 2020 22:30:57 +0100
Cache icons in the clients
Diffstat:
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/api/icons.rs b/src/api/icons.rs
@@ -16,6 +16,7 @@ use soup::prelude::*;
use crate::error::Error;
use crate::CONFIG;
+use crate::util::Cached;
pub fn routes() -> Vec<Route> {
routes![icon]
@@ -53,15 +54,15 @@ fn is_valid_domain(domain: &str) -> bool {
}
#[get("/<domain>/icon.png")]
-fn icon(domain: String) -> Content<Vec<u8>> {
+fn icon(domain: String) -> Cached<Content<Vec<u8>>> {
let icon_type = ContentType::new("image", "x-icon");
if !is_valid_domain(&domain) {
warn!("Invalid domain: {:#?}", domain);
- return Content(icon_type, FALLBACK_ICON.to_vec());
+ return Cached::long(Content(icon_type, FALLBACK_ICON.to_vec()));
}
- Content(icon_type, get_icon(&domain))
+ Cached::long(Content(icon_type, get_icon(&domain)))
}
fn check_icon_domain_is_blacklisted(domain: &str) -> bool {