File tree Expand file tree Collapse file tree 2 files changed +15
-19
lines changed Expand file tree Collapse file tree 2 files changed +15
-19
lines changed Original file line number Diff line number Diff line change 55## [ v1.2.3 (2025-06-16)] ( https://github.com/onlime/laravel-http-client-global-logger/compare/v1.2.2...v1.2.3 )
66
77- [ Security] Body key obfuscation (` obfuscate.body_keys ` config) is now also applied to response body, both for JSON or form-styled content.
8- - Refactored ` obfuscateBody() ` for performance to run single regex replacements on message body.
98
109## [ v1.2.2 (2025-06-16)] ( https://github.com/onlime/laravel-http-client-global-logger/compare/v1.2.1...v1.2.2 )
1110
Original file line number Diff line number Diff line change @@ -16,24 +16,21 @@ protected function obfuscateBody(string $message): string
1616 {
1717 $ replacement = config ('http-client-global-logger.obfuscate.replacement ' );
1818
19- // Build regex pattern for keys to obfuscate
20- $ keysPattern = implode ('| ' , array_map (
21- fn (string $ key ) => preg_quote ($ key , '/ ' ),
22- config ('http-client-global-logger.obfuscate.body_keys ' )
23- ));
24-
25- // JSON-style: "(key1|key2)": "someValue"
26- $ message = preg_replace (
27- '/(?<="(?: ' . $ keysPattern . ')":")[^"]*(?=")/mU ' ,
28- $ replacement ,
29- $ message
30- );
31- // form-style: key1=someValue& or key2=someValue$
32- $ message = preg_replace (
33- '/(?<=\b(?: ' . $ keysPattern .')=)[^&]*(?=&|$)/ ' ,
34- $ replacement ,
35- $ message
36- );
19+ foreach (config ('http-client-global-logger.obfuscate.body_keys ' ) as $ key ) {
20+ $ quoted = preg_quote ($ key , '/ ' );
21+ // JSON-style: "key":"value"
22+ $ message = preg_replace (
23+ '/(?<=" ' .$ quoted .'":")[^"]*(?=")/mU ' ,
24+ $ replacement ,
25+ $ message
26+ );
27+ // form-style: key=value (until & or end)
28+ $ message = preg_replace (
29+ '/(?<=\b ' . $ quoted .'=)[^&]*(?=&|$)/ ' ,
30+ $ replacement ,
31+ $ message
32+ );
33+ }
3734
3835 return $ message ;
3936 }
You can’t perform that action at this time.
0 commit comments