Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-13333

OpenAPI endpoint returns empty file if schema definition contains non ASCII character

    XMLWordPrintable

Details

    Description

      Currently the /openapi endpoint returns empty file if the OpenAPI schema definition contains non ASCII characters (ie. accented letters like á,í...).
      I extended the openapi quickstart for demonstration: https://github.com/petrenyi-mark/quickstart/commit/44096980ff36ff2655859f9b10f8d0bd4c76bfbb

      It seems like it is related to the content-length, since in OpenAPIHttpHandler the content-length header is set by String.length() (line 125). However before the response is actually returned, undertow validates that the actual content-length based on ByteBuffer size is not greater then the one declared in the response header. Since non ASCII characters are usually represented by 2 bytes undertow will fail, thus no content will be returned.

      In OpenAPIHttpHandler setting string.getBytes(charset).length as Conetnt-Length instead of String.length() would likely resolve this issue.

      Attachments

        Activity

          People

            pferraro@redhat.com Paul Ferraro
            mpetrenyi Márk Petrényi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: