• Type: Story
    • Status: Resolved (View workflow)
    • Priority: Medium
    • Resolution: Done
    • Affects versions: None
    • Fix versions:
    • Components: None
    • Labels:
    • Sprint:
      Sprint 170, Sprint 171, Sprint 172
    • Story Points:
    • Capitalizable:


      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:

      • And
      • Or
      • Not

      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?
        • Yes.

      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.

      Acceptance Criteria:

      • 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.


          Issue links



              • Assignee:
                wdschei Bill Scheidegger
                mario.lopez Mario Lopez
              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created: