diff --git a/src/types/request.rs b/src/types/request.rs index f3e3801..d14d052 100644 --- a/src/types/request.rs +++ b/src/types/request.rs @@ -57,8 +57,11 @@ impl Request { ) .context("Request URI is invalid")? .into_owned(), - headers.get("TLS_CLIENT_HASH").map(hash_decode) - .ok_or(anyhow!("Received malformed TLS client hash from upstream. Expected 256 bit hex or b64 encoded"))?, + match headers.get("TLS_CLIENT_HASH").map(hash_decode) { + Some(maybe_hash @ Some(_)) => maybe_hash, + Some(None) => bail!("Received malformed TLS client hash from upstream. Expected 256 bit hex or b64 encoded"), + None => None, + }, headers.get("SCRIPT_PATH") .or_else(|| headers.get("SCRIPT_NAME")) .cloned()