-
Bug
-
Resolution: Done
-
Blocker
-
19.0.0.Final
-
None
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.