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

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

XMLWordPrintable

      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.

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

                Created:
                Updated:
                Resolved: