mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-31 10:18:19 +02:00 
			
		
		
		
	Merge pull request #3307 from jjlin/head-routes
Add HEAD routes to avoid spurious error messages
This commit is contained in:
		| @@ -4,7 +4,7 @@ use rocket::{fs::NamedFile, http::ContentType, response::content::RawHtml as Htm | ||||
| use serde_json::Value; | ||||
|  | ||||
| use crate::{ | ||||
|     api::{core::now, ApiResult}, | ||||
|     api::{core::now, ApiResult, EmptyResult}, | ||||
|     error::Error, | ||||
|     util::{Cached, SafeString}, | ||||
|     CONFIG, | ||||
| @@ -14,9 +14,9 @@ pub fn routes() -> Vec<Route> { | ||||
|     // If addding more routes here, consider also adding them to | ||||
|     // crate::utils::LOGGED_ROUTES to make sure they appear in the log | ||||
|     if CONFIG.web_vault_enabled() { | ||||
|         routes![web_index, app_id, web_files, attachments, alive, static_files] | ||||
|         routes![web_index, web_index_head, app_id, web_files, attachments, alive, alive_head, static_files] | ||||
|     } else { | ||||
|         routes![attachments, alive, static_files] | ||||
|         routes![attachments, alive, alive_head, static_files] | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -43,6 +43,17 @@ async fn web_index() -> Cached<Option<NamedFile>> { | ||||
|     Cached::short(NamedFile::open(Path::new(&CONFIG.web_vault_folder()).join("index.html")).await.ok(), false) | ||||
| } | ||||
|  | ||||
| #[head("/")] | ||||
| fn web_index_head() -> EmptyResult { | ||||
|     // Add an explicit HEAD route to prevent uptime monitoring services from | ||||
|     // generating "No matching routes for HEAD /" error messages. | ||||
|     // | ||||
|     // Rocket automatically implements a HEAD route when there's a matching GET | ||||
|     // route, but relying on this behavior also means a spurious error gets | ||||
|     // logged due to <https://github.com/SergioBenitez/Rocket/issues/1098>. | ||||
|     Ok(()) | ||||
| } | ||||
|  | ||||
| #[get("/app-id.json")] | ||||
| fn app_id() -> Cached<(ContentType, Json<Value>)> { | ||||
|     let content_type = ContentType::new("application", "fido.trusted-apps+json"); | ||||
| @@ -92,6 +103,13 @@ fn alive(_conn: DbConn) -> Json<String> { | ||||
|     now() | ||||
| } | ||||
|  | ||||
| #[head("/alive")] | ||||
| fn alive_head(_conn: DbConn) -> EmptyResult { | ||||
|     // Avoid logging spurious "No matching routes for HEAD /alive" errors | ||||
|     // due to <https://github.com/SergioBenitez/Rocket/issues/1098>. | ||||
|     Ok(()) | ||||
| } | ||||
|  | ||||
| #[get("/vw_static/<filename>")] | ||||
| pub fn static_files(filename: String) -> Result<(ContentType, &'static [u8]), Error> { | ||||
|     match filename.as_ref() { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user