fix: nil guards, safe type assertions, panic prevention, and rate limiter plugin (#3757)

Signed-off-by: Srikanth Patchava <spatchava@meta.com>
Signed-off-by: Srikanth Patchava <srpatcha@users.noreply.github.com>
Co-authored-by: Srikanth Patchava <srpatcha@users.noreply.github.com>
This commit is contained in:
Srikanth Patchava
2026-05-11 20:00:37 -07:00
committed by GitHub
parent 1c4fe1c9f9
commit 29da03c371
4 changed files with 65 additions and 35 deletions

View File

@@ -87,13 +87,17 @@ func parseConfig(json gjson.Result, config *RequestBlockConfig, log log.Log) err
if regexpUrl == "" {
continue
}
var reg *regexp.Regexp
var err error
if config.caseSensitive {
reg := regexp.MustCompile(regexpUrl)
config.blockRegExpArray = append(config.blockRegExpArray, reg)
reg, err = regexp.Compile(regexpUrl)
} else {
reg := regexp.MustCompile(strings.ToLower(regexpUrl))
config.blockRegExpArray = append(config.blockRegExpArray, reg)
reg, err = regexp.Compile(strings.ToLower(regexpUrl))
}
if err != nil {
return fmt.Errorf("invalid regexp pattern %q: %w", regexpUrl, err)
}
config.blockRegExpArray = append(config.blockRegExpArray, reg)
}
for _, item := range json.Get("block_headers").Array() {
header := item.String()