Skip to main content

csp_parse/
lib.rs

1//! A pure-Rust parser for the Content Security Policy (CSP) directive
2//! grammar.
3//!
4//! Phases 02-05 (see `plan/`): the generic top-level split (policy-list
5//! -> policy -> directive name/raw value), the `serialized-source-list`
6//! value grammar, and the CSP3 directive registry are implemented so
7//! far.
8
9#![warn(missing_docs)]
10
11mod ast;
12mod directive;
13mod hash;
14mod parser;
15mod source_list;
16
17pub use ast::{Directive, Policy, PolicyList};
18pub use directive::{
19    DirectiveStatus, DirectiveValue, ValueGrammar, ancestor_source_list_is_valid, registry_lookup,
20};
21pub use hash::{HashAlgorithm, HashExpression, parse_hash_expression};
22pub use parser::parse_policy_list;
23pub use source_list::{
24    HostPart, HostSource, Keyword, PortPart, SourceExpression, SourceList, SourceListEntry,
25    parse_source_list,
26};