Skip to content

Commit b579f07

Browse files
committed
feat(datadog-trace-obfuscation): Migrated from regex to regex-lite
1 parent fc6a230 commit b579f07

File tree

4 files changed

+11
-11
lines changed

4 files changed

+11
-11
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

datadog-trace-obfuscation/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ license.workspace = true
99

1010
[dependencies]
1111
anyhow = "1.0"
12-
regex = "1"
12+
regex-lite = "^0.1"
1313
serde = { version = "1.0.145", features = ["derive"] }
1414
serde_json = "1.0"
1515
url = "2.4.0"

datadog-trace-obfuscation/src/ip_address.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright 2024-Present Datadog, Inc. https://www.datadoghq.com/
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use regex::Regex;
4+
use regex_lite::Regex;
55
use std::{borrow::Cow, collections::HashSet, net::Ipv6Addr, sync::LazyLock};
66

77
const ALLOWED_IP_ADDRESSES: [&str; 4] = [

datadog-trace-obfuscation/src/replacer.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
use datadog_trace_protobuf::pb;
5-
use regex::Regex;
5+
use regex_lite::Regex;
66
use serde::Deserialize;
77

88
#[derive(Deserialize)]
@@ -27,7 +27,7 @@ pub struct ReplaceRule {
2727
name: String,
2828

2929
// re holds the regex pattern for matching.
30-
re: regex::Regex,
30+
re: regex_lite::Regex,
3131

3232
// repl specifies the replacement string to be used when Pattern matches.
3333
repl: String,
@@ -97,7 +97,7 @@ pub fn parse_rules_from_string(
9797
anyhow::bail!("Obfuscator Error: Error while parsing rule: {}", err)
9898
}
9999
};
100-
let no_expansion = regex::Replacer::no_expansion(&mut &raw_rule.repl).is_some();
100+
let no_expansion = regex_lite::Replacer::no_expansion(&mut &raw_rule.repl).is_some();
101101
vec.push(ReplaceRule {
102102
name: raw_rule.name,
103103
re: compiled_regex,
@@ -155,7 +155,7 @@ fn replace_all(
155155
#[allow(clippy::unwrap_used)]
156156
let m = cap.get(0).unwrap();
157157
scratch_space.push_str(&haystack[last_match..m.start()]);
158-
regex::Replacer::replace_append(&mut replace, &cap, scratch_space);
158+
regex_lite::Replacer::replace_append(&mut replace, &cap, scratch_space);
159159
last_match = m.end();
160160
}
161161
scratch_space.push_str(&haystack[last_match..]);
@@ -286,13 +286,13 @@ mod tests {
286286
fn test_replace_rule_eq() {
287287
let rule1 = replacer::ReplaceRule {
288288
name: "http.url".to_string(),
289-
re: regex::Regex::new("(token/)([^/]*)").unwrap(),
289+
re: regex_lite::Regex::new("(token/)([^/]*)").unwrap(),
290290
repl: "${1}?".to_string(),
291291
no_expansion: false,
292292
};
293293
let rule2 = replacer::ReplaceRule {
294294
name: "http.url".to_string(),
295-
re: regex::Regex::new("(token/)([^/]*)").unwrap(),
295+
re: regex_lite::Regex::new("(token/)([^/]*)").unwrap(),
296296
repl: "${1}?".to_string(),
297297
no_expansion: false,
298298
};
@@ -304,13 +304,13 @@ mod tests {
304304
fn test_replace_rule_neq() {
305305
let rule1 = replacer::ReplaceRule {
306306
name: "http.url".to_string(),
307-
re: regex::Regex::new("(token/)([^/]*)").unwrap(),
307+
re: regex_lite::Regex::new("(token/)([^/]*)").unwrap(),
308308
repl: "${1}?".to_string(),
309309
no_expansion: false,
310310
};
311311
let rule2 = replacer::ReplaceRule {
312312
name: "http.url".to_string(),
313-
re: regex::Regex::new("(broken/)([^/]*)").unwrap(),
313+
re: regex_lite::Regex::new("(broken/)([^/]*)").unwrap(),
314314
repl: "${1}?".to_string(),
315315
no_expansion: false,
316316
};

0 commit comments

Comments
 (0)