1#![deny(clippy::print_stdout)]
4#![allow(clippy::new_without_default)]
5
6mod encoding;
7mod event;
8mod match_action;
9
10mod ast_utils;
11#[cfg(any(test, feature = "testing", feature = "bench"))]
12mod event_json;
13mod match_validation;
14mod normalization;
15mod observability;
16mod parser;
17mod path;
18mod proximity_keywords;
19mod rule_match;
20mod scanner;
21pub(crate) mod scoped_ruleset;
22mod secondary_validation;
23mod simple_event;
24mod stats;
25mod tokio;
26mod validation;
27
28pub use simple_event::SimpleEvent;
29
30pub use encoding::{EncodeIndices, Encoding, Utf8Encoding};
32pub use event::{Event, EventVisitor, VisitStringResult};
33pub use match_action::{MatchAction, PartialRedactDirection};
34
35pub use match_validation::{
36 config::AwsConfig, config::AwsType, config::CustomHttpConfig, config::HttpMethod,
37 config::HttpStatusCodeRange, config::HttpValidatorOption, config::InternalMatchValidationType,
38 config::MatchValidationType, config::RequestHeader, match_status::MatchStatus,
39};
40pub use observability::labels::Labels;
41pub use path::{Path, PathSegment};
42pub use rule_match::{ReplacementType, RuleMatch};
43pub use scanner::shared_pool::{SharedPool, SharedPoolGuard};
44
45pub use scanner::suppression::Suppressions;
46pub use scanner::{
47 CompiledRule, MatchEmitter, RootCompiledRule, RootRuleConfig, RuleResult, RuleStatus,
48 ScanOptionBuilder, Scanner, ScannerBuilder, SharedData, StringMatch, StringMatchesCtx,
49 config::RuleConfig,
50 error::{CreateScannerError, ScannerError},
51 regex_rule::RegexCaches,
52 regex_rule::config::{
53 ClaimRequirement, JwtClaimsValidatorConfig, ProximityKeywordsConfig, RegexRuleConfig,
54 SecondaryValidator,
55 },
56 scope::Scope,
57};
58pub use scoped_ruleset::ExclusionCheck;
59pub use tokio::TOKIO_RUNTIME;
60pub use validation::{
61 RegexValidationError, get_regex_complexity_estimate_very_slow, validate_regex,
62};
63
64#[cfg(any(feature = "testing", feature = "bench"))]
65pub use crate::{
66 scoped_ruleset::{ContentVisitor, RuleIndexVisitor, ScopedRuleSet},
67 secondary_validation::{LuhnChecksum, Validator},
68};