snowdrop-zen / quarkus

Quarkus: Supersonic Subatomic Java.
https://quarkus.io
Apache License 2.0
1 stars 0 forks source link

RESTEasy Reactive broken text on Windows #398

Closed snowdrop-bot closed 3 years ago

snowdrop-bot commented 3 years ago

Describe the bug

In a Windows environment, RESTEasy Reactive endpoints do not preserve text charset between request and response.

@Path("/echo")
public class EchoResource {

    @POST
    @Path("/text")
    @Consumes(MediaType.TEXT_PLAIN)
    @Produces(MediaType.TEXT_PLAIN)
    public String echo(String request) {
        return request;
    }
}
curl -d "ěščřžýáíé" -H "Content-Type: text/plain; charset=cp1252" http://localhost:8080/echo/text

Response:

e�cr�����

The same goes for an endpoint accepting multipart data (see attached reproducer).

Expected behavior

No response

Actual behavior

No response

How to Reproduce?

resteasy-reactive-encoding-reproducer.zip

unzip ./resteasy-reactive-encoding-reproducer.zip
cd ./resteasy-reactive-encoding-reproducer
./mvnw.cmd clean verify

Output of uname -a or ver

No response

Output of java -version

openjdk version "11.0.11" 2021-04-20 OpenJDK Runtime Environment GraalVM CE 21.1.0 (build 11.0.11+8-jvmci-21.1-b05) OpenJDK 64-Bit Server VM GraalVM CE 21.1.0 (build 11.0.11+8-jvmci-21.1-b05, mixed mode, sharing)

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.1.3.Final

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.1 (05c21c65bdfed0f71a2f2ada8b84da59348c4c5d) Maven home: C:\Users\hudson.m2\wrapper\dists\apache-maven-3.8.1-bin\2l5mhf2pq2clrde7f7qp1rdt5m\apache-maven-3.8.1 Java version: 11.0.11, vendor: GraalVM Community, runtime: C:\Program Files\GraalVM\graalvm-ce-java11-21.1.0 Default locale: en_US, platform encoding: Cp1252 OS name: "windows server 2019", version: "10.0", arch: "amd64", family: "windows"

Additional information

No response


https://github.com/quarkusio/quarkus/issues/19535


$upstream:19535$