Michael Lee created HTTPCLIENT-2300:
---------------------------------------
Summary: AbstractCharDataConsumer throws
java.nio.charset.MalformedInputException for an URI that SimpleResponseConsumer
can handle
Key: HTTPCLIENT-2300
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2300
Project: HttpComponents HttpClient
Issue Type: Bug
Components: HttpClient (async)
Affects Versions: 5.2.1
Environment: openjdk version "17.0.8.1" 2023-08-24
OpenJDK Runtime Environment Temurin-17.0.8.1+1 (build 17.0.8.1+1)
OpenJDK 64-Bit Server VM Temurin-17.0.8.1+1 (build 17.0.8.1+1, mixed mode,
sharing)
Reporter: Michael Lee
Attachments: sample.zip
HttpAsyncClient is able to retrieve the response body of
[https://www.videolan.org/vlc/] using a SimpleResponseConsumer but not a
trivial subclass of AbstractCharResponseConsumer. Using the latter,
AbstractCharDataConsumer.consume throws an exception. Excerpt:
{{java.nio.charset.MalformedInputException: Input length = 1}}
{{ at
java.base/java.nio.charset.CoderResult.throwException(CoderResult.java:274)}}
{{ at
org.apache.hc.core5.http.nio.entity.AbstractCharDataConsumer.checkResult(AbstractCharDataConsumer.java:103)}}
{{ at
org.apache.hc.core5.http.nio.entity.AbstractCharDataConsumer.consume(AbstractCharDataConsumer.java:156)}}
{{ at
org.apache.hc.client5.http.impl.async.HttpAsyncMainClientExec$1.consume(HttpAsyncMainClientExec.java:243)}}
{{ at
org.apache.hc.core5.http2.impl.nio.ClientH2StreamHandler.consumeData(ClientH2StreamHandler.java:235)}}
On the other hand, the same code works fine for other URLs such as
[https://httpbin.org/]
Attached HttpAsyncClientTests.java illustrates the issue. The method testSimple
using SimpleResponseConsumer works fine, but the method testStreaming using a
trivial subclass of AbstractCharResponseConsumer does not.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]