geforkt von mirrored/vaultwarden
Cache icons in the clients
Dieser Commit ist enthalten in:
Ursprung
def174a517
Commit
ebb36235a7
1 geänderte Dateien mit 4 neuen und 3 gelöschten Zeilen
|
@ -16,6 +16,7 @@ use soup::prelude::*;
|
||||||
|
|
||||||
use crate::error::Error;
|
use crate::error::Error;
|
||||||
use crate::CONFIG;
|
use crate::CONFIG;
|
||||||
|
use crate::util::Cached;
|
||||||
|
|
||||||
pub fn routes() -> Vec<Route> {
|
pub fn routes() -> Vec<Route> {
|
||||||
routes![icon]
|
routes![icon]
|
||||||
|
@ -53,15 +54,15 @@ fn is_valid_domain(domain: &str) -> bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[get("/<domain>/icon.png")]
|
#[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");
|
let icon_type = ContentType::new("image", "x-icon");
|
||||||
|
|
||||||
if !is_valid_domain(&domain) {
|
if !is_valid_domain(&domain) {
|
||||||
warn!("Invalid 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 {
|
fn check_icon_domain_is_blacklisted(domain: &str) -> bool {
|
||||||
|
|
Laden …
In neuem Issue referenzieren