XMLWordPrintable

    • Icon: Epic Epic
    • Resolution: Done
    • Icon: Major Major
    • None
    • 2.3 GA, SaaS
    • None
    • New routing policy
    • Done
    • Done
    • Done
    • Done
    • 0% To Do, 0% In Progress, 100% Done

      There's a need for content based routing based on headers. Examples are:

      • A/B testing
      • Versioning
      • Different groups of API consumers

      Ideally, we'd like to make it easier for customers to be able to do content based routing based on headers, URL path, in a single policy (or in a way that is easy and intuitive to achieve). This issue is not about that, but just about introducing headers based routing to cover use cases like:

      Education group with 2 universities, main one with different campuses and second one which is virtual. Student ID is in the header, and helps determine if they should be routed to service a) or b). Services have different API backends.

      Proposal
      Modifying the 'upstream' policy to add an optional field to check in header of the request.

      How should it work

      • User will have a field to add an optional value to match with header in the upstream policy
      • It will check if the value is in the header or if it's not. No bigger, more than, less than, etc. comparisons
      • What happens when there are multiple rules configured? Evaluated top down (or however it works at the moment)
        mcheshir@redhat.com Any other considerations?

      We think it's better to add this now even if it doesn't cover all the use cases so we can discover what other needs are in this area to inform the ideal more complete 'routing' policy.

      Note that if customers would need header based routing and URL rewriting they'd still need to use 2 policies.

              Unassigned Unassigned
              vramosp Vanessa Ramos (Inactive)
              Peter Stanko Peter Stanko (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: