-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathlib.rs
More file actions
69 lines (62 loc) · 2.28 KB
/
lib.rs
File metadata and controls
69 lines (62 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// This blocks accidental use of `println`. If one is actually needed, you can
// override with `#[allow(clippy::print_stdout)]`.
#![deny(clippy::print_stdout)]
#![allow(clippy::new_without_default)]
mod encoding;
mod event;
mod match_action;
mod ast_utils;
#[cfg(any(test, feature = "testing", feature = "bench"))]
mod event_json;
mod match_validation;
mod normalization;
mod observability;
mod parser;
mod path;
mod proximity_keywords;
mod rule_match;
mod scanner;
pub(crate) mod scoped_ruleset;
mod secondary_validation;
mod simple_event;
mod stats;
mod tokio;
mod validation;
pub use simple_event::SimpleEvent;
// This is the public API of the SDS core library
pub use encoding::{EncodeIndices, Encoding, Utf8Encoding};
pub use event::{Event, EventVisitor, VisitStringResult};
pub use match_action::{MatchAction, PartialRedactDirection};
pub use match_validation::{
config::AwsConfig, config::AwsType, config::CustomHttpConfig, config::HttpMethod,
config::HttpStatusCodeRange, config::HttpValidatorOption, config::InternalMatchValidationType,
config::MatchValidationType, config::RequestHeader, match_status::MatchStatus,
};
pub use observability::labels::Labels;
pub use path::{Path, PathSegment};
pub use rule_match::{ReplacementType, RuleMatch};
pub use scanner::shared_pool::{SharedPool, SharedPoolGuard};
pub use scanner::suppression::Suppressions;
pub use scanner::{
CompiledRule, MatchEmitter, Precedence, RootCompiledRule, RootRuleConfig, RuleResult,
RuleStatus, ScanMetrics, ScanOptionBuilder, ScanResult, Scanner, ScannerBuilder, SharedData,
StringMatch, StringMatchesCtx,
config::RuleConfig,
error::{CreateScannerError, ScannerError},
regex_rule::config::{
ClaimRequirement, JwtClaimsValidatorConfig, ProximityKeywordsConfig, RegexRuleConfig,
SecondaryValidator,
},
regex_rule::{RegexCacheKey, RegexCacheValue, RegexCaches, SharedRegex, get_memoized_regex},
scope::Scope,
};
pub use scoped_ruleset::ExclusionCheck;
pub use tokio::TOKIO_RUNTIME;
pub use validation::{
RegexValidationError, get_regex_complexity_estimate_very_slow, validate_regex,
};
#[cfg(any(feature = "testing", feature = "bench"))]
pub use crate::{
scoped_ruleset::{ContentVisitor, RuleIndexVisitor, ScopedRuleSet},
secondary_validation::{LuhnChecksum, Validator},
};