]
Brian Stansberry updated WFLY-13333:
------------------------------------
Fix Version/s: 19.0.1.Final
Openapi endpoint returns empty file if schema definition contains non
ASCII character
-------------------------------------------------------------------------------------
Key: WFLY-13333
URL:
https://issues.redhat.com/browse/WFLY-13333
Project: WildFly
Issue Type: Bug
Components: MP OpenAPI
Affects Versions: 19.0.0.Final
Reporter: Márk Petrényi
Assignee: Paul Ferraro
Priority: Blocker
Fix For: 19.0.1.Final, 20.0.0.Beta1
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/44096980ff36ff2655859f...
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.