You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Eric Lan (JIRA)" <ji...@apache.org> on 2019/01/02 02:07:00 UTC
[jira] [Commented] (HTTPASYNC-146) Can't handle the response for
the remote server send response and close connection
[ https://issues.apache.org/jira/browse/HTTPASYNC-146?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16731731#comment-16731731 ]
Eric Lan commented on HTTPASYNC-146:
------------------------------------
Hi [~olegk], Thanks your quickly response. The description did not said the import information, there is a delay between sending the response and closing the connection. My case is
# send the 301 response "HTTP/1.1 301 Moved\r\nLocation: /redirect\r\n", no content-length, do close connection.
# wait a moment.
# closing the connection.
That means when first to parse the response, the connection is NOT closed. but after parse the response, the connection is closed, the case will failed
{code:java}
@Test
public void testHTTPASYNC_146() throws Exception {
final SessionInputBuffer inbuf = new SessionInputBufferImpl(1024, 128, Consts.ASCII);
final NHttpMessageParser<HttpResponse> messageParser = new DefaultHttpResponseParser(inbuf);
final ReadableByteChannel channel = Channels.newChannel("HTTP/1.1 301 Moved\r\nLocation: /redirect\r\n");
messageParser.fillBuffer(channel);
final HttpResponse response = messageParser.parse();
messageParser.fillBuffer(channel);
final HttpResponse response2 = messageParser.parse();
Assert.assertThat(response == null ? response2 : response, CoreMatchers.notNullValue());
Assert.assertThat(response.getStatusLine().getStatusCode(), CoreMatchers.equalTo(301));
final Header[] headers = response.getAllHeaders();
Assert.assertThat(headers.length, CoreMatchers.equalTo(1));
Assert.assertThat(headers[0].getName(), CoreMatchers.equalTo("Location"));
}
{code}
> Can't handle the response for the remote server send response and close connection
> ----------------------------------------------------------------------------------
>
> Key: HTTPASYNC-146
> URL: https://issues.apache.org/jira/browse/HTTPASYNC-146
> Project: HttpComponents HttpAsyncClient
> Issue Type: Bug
> Affects Versions: 4.1.3
> Reporter: Eric Lan
> Priority: Major
>
> When the server return response, such as HTTP 301 for redirect, and close the connection.
> The AbstractMessageParser#parse will return null.
> {code}
> HTTP/1.1 301 Moved\r\nLocation: /redirect\r\n
> {code}
> *Notice: there is no last \r\n to mark there is no more headers but the server close the connection*
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org