Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1835

Headers and their constants should be normalized for rfc2616

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Won't Do
    • Major
    • None
    • None
    • Core
    • None
    • Undefined

    Description

      rfc2616 states that

      Field names are case-insensitive

      When switching a kubernetes app's ingress layer to istio recently, I had the surprise that istio normalizes headers by lowercasing them (i.e. no matter the client, the server always received lower cased headers).

      I had been walking all headers with exchange.getRequestHeaders() and using the constants like Headers.HOST_STRING and Headers.ACCEPT_STRING but coming up short for "host" and "accept" when those constants are "Host" and "Accept".

      Undertow should make it possible for apps to code for headers in a case-insensitive manner or against the normalized, lower-cased versions so that any clients that may take advantage of the case-insensitivity in the rfc.

      Relevant: https://www.rfc-editor.org/rfc/rfc9110#name-field-names

      Field names are case-insensitive and ought to be registered within the "Hypertext Transfer Protocol (HTTP) Field Name Registry";

      Attachments

        Activity

          People

            rhn-cservice-bbaranow Bartosz Baranowski
            scr@verizonmedia.com Sheridan Rawlins (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: