From 645b2ae89b8a5d4cc0927bdc240132a406c6fe27 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Mon, 31 Jan 2022 15:50:23 +0100 Subject: [PATCH] rest: add cookie_from_header helper Signed-off-by: Thomas Lamprecht --- proxmox-rest-server/src/lib.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/proxmox-rest-server/src/lib.rs b/proxmox-rest-server/src/lib.rs index 474827a3..3f7afae6 100644 --- a/proxmox-rest-server/src/lib.rs +++ b/proxmox-rest-server/src/lib.rs @@ -201,6 +201,16 @@ pub fn extract_cookie(cookie: &str, cookie_name: &str) -> Option { None } +/// Extract a specific cookie from a HeaderMap's "COOKIE" entry. +/// We assume cookie_name is already url encoded. +pub fn cookie_from_header(headers: &http::HeaderMap, cookie_name: &str) -> Option { + if let Some(Ok(cookie)) = headers.get("COOKIE").map(|v| v.to_str()) { + extract_cookie(&cookie, cookie_name) + } else { + None + } +} + /// normalize uri path /// /// Do not allow ".", "..", or hidden files ".XXXX"