We currently only support whether or not a filter is run for a specific request based on the URL of the request. We should expand that ability to consider other criteria and also support logical operators.
Filter options should include:
- HTTP method
- header value (regex)
- presence of a header (if no value is provided)
- URL (regex)
Add support for these logical operators:
We should add logging to help users determine why requests are going through certain filters and not others.
Questions for config:
- What does it look like?
- See attachment.
Questions for logging:
- Should it be log file based (i.e. all (requests) or nothing), or should it be something that's triggered on a request header?
- II will be configured in the log file.
- Whether or not it's based on a log file or a request header, should we include different levels of information at Debug and Trace? For example, show which filters were were processed in Debug and why they were processed in Trace?
We won't be auto-generating the objects during build time. Instead, we'll be generating them once, add some logic in, then tell JAXB not to generate these specific objects, etc.
- Users are able to configure whether or not a request goes through a filter based on the HTTP method, the header value (including the presence of), and the URL.
- Users are able to use the logical operators and, or, and not to chain compose a logical expression.
- An assertion is added that ensures that the old uri-regex and the new feature are not used at the same time.
- The uri-regex attribute is marked as deprecated.
- Logging is added to help operators determine why requests go through each filter without having to turn on Intrafilter Logging.