harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tim Ellison (JIRA)" <j...@apache.org>
Subject [jira] Updated: (HARMONY-6521) [classlib][luni] HttpURLConnection.getResponseCode() hangs on incomplete chunked response
Date Fri, 03 Sep 2010 11:03:39 GMT

     [ https://issues.apache.org/jira/browse/HARMONY-6521?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tim Ellison updated HARMONY-6521:
---------------------------------

    Fix Version/s:     (was: 5.0M15)
                       (was: 6.0M3)

> [classlib][luni] HttpURLConnection.getResponseCode() hangs on incomplete chunked response
> -----------------------------------------------------------------------------------------
>
>                 Key: HARMONY-6521
>                 URL: https://issues.apache.org/jira/browse/HARMONY-6521
>             Project: Harmony
>          Issue Type: Bug
>          Components: Classlib
>    Affects Versions: 6.0M2, 5.0M14
>            Reporter: Mark Hindess
>
> HttpURLConnection.getResponseCode() hangs when reading chunked responses because it eagerly
tries to find the size of the first chunk.  It should read the chunk size lazily.  The RI
doesn't hang.
> import java.io.OutputStream;
> import java.net.HttpURLConnection;
> import java.net.ServerSocket;
> import java.net.URL;
> public class HUCHang {
>     public static void main(String[] args) throws Exception {
>         ServerSocket server = new ServerSocket(0);
>         URL u = new URL("http://"
>                         + server.getInetAddress().getHostAddress()
>                         + ":" + server.getLocalPort());
>         HttpURLConnection uc = (HttpURLConnection)u.openConnection();
>         uc.connect();
>         OutputStream cos = server.accept().getOutputStream();
>         String resp =
>             "HTTP/1.1 200 OK\r\n"
>             +"Content-Type: text/plain\r\n"
>             +"Transfer-Encoding: chunked\r\n"
>             +"\r\n"
>             +"a"; // intentionally incomplete chunk size line
>         cos.write(resp.getBytes());
>         System.err.print("response code = \"");
>         System.err.println(+ uc.getResponseCode() + "\"");
>     }
> }
> Given that chunked responses are often used for (slow) streamed responses then matching
behaviour makes sense.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message