wjqserver
|
fa925582d7
|
feat: implement dynamic request variable replacement in replacer
Replace the no-op reverseProxyReplacer.Replace with strings.NewReplacer
supporting {method}, {host}, {path}, {query}, {scheme}, {uri}, {proto}
|
2026-04-21 17:36:38 +08:00 |
|
wjqserver
|
93f5edc6eb
|
feat: add Replace support for reverse proxy header ops
- Support substring replacement via Search field
- Support regex replacement via SearchRegexp field (precompiled at Provision)
- Support wildcard field name '*' to apply replacement to all headers
- Validate that Search and SearchRegexp are mutually exclusive
- Add 5 functional tests and 9 benchmark tests covering all operations
Benchmark results (no external allocs in hot paths):
Add: 527 ns/op, 448 B/op, 5 allocs/op
Set: 891 ns/op, 480 B/op, 7 allocs/op
Delete(single): 476 ns/op, 48 B/op, 3 allocs/op
Delete(wildcard): 1073 ns/op, 104 B/op, 7 allocs/op
Replace(sub): 303 ns/op, 64 B/op, 2 allocs/op
Replace(regex): 1503 ns/op, 224 B/op, 6 allocs/op
Replace(wild): 731 ns/op, 80 B/op, 4 allocs/op
Mixed: 1527 ns/op, 128 B/op, 7 allocs/op
|
2026-04-21 16:34:25 +08:00 |
|