INNER CODE UNIT · Rust
parse
cloudflare/web-bot-auth · crates/web-bot-auth/src/lib.rs:193
pub fn parse(message: &impl SignedMessage) -> Result<Self, ImplementationError> {
let signature_agents = message.lookup_component(&CoveredComponent::HTTP(HTTPField {
name: "signature-agent".to_string(),
parameters: components::HTTPFieldParametersSet(vec![]),
}));
let message_verifier =
MessageVerifier::parse(message, |(_, innerlist)| {
innerlist.params.contains_key("keyid")
&& innerlist.params.contains_key("tag")
&& innerlist.params.contains_key("expires")
&& innerlist.params.contains_key("created")
&& innerlist
.params
.get("tag")
.and_then(|tag| tag.as_string())
.is_some_and(|tag| tag.as_str() == "web-bot-auth")
&& (innerlist.items.iter().any(|item| {