- Added short-circuit mechanism to stop rule evaluation early if a blocking decision is made.
- Replaced `map[string]struct{}` with `*CIDRTrie` for efficient IP blacklist storage and lookups.
- Improved performance by avoiding unnecessary rule evaluations and optimizing CIDR range checks.
- Updated `processRuleMatch`, `handlePhase`, and `loadIPBlacklistIntoMap` to support the new optimizations.
- Added metrics tracking for total, blocked, and allowed requests
- Implemented rule hit statistics by phase and rule ID
- Added GeoIP statistics for country-based request tracking
- Introduced a new metrics endpoint to expose collected data in JSON format
- Updated middleware to handle metrics requests and log statistics