diff options
Diffstat (limited to 'components/cronet')
2 files changed, 19 insertions, 0 deletions
diff --git a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java index 0e458c1..873d90b 100644 --- a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java +++ b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java @@ -249,6 +249,9 @@ public class CronetHttpURLConnection extends HttpURLConnection { final UrlRequest.Builder requestBuilder = new UrlRequest.Builder( getURL().toString(), new CronetUrlRequestCallback(), mMessageLoop, mCronetEngine); if (doOutput) { + if (method.equals("GET")) { + method = "POST"; + } if (mOutputStream != null) { requestBuilder.setUploadDataProvider( mOutputStream.getUploadDataProvider(), mMessageLoop); diff --git a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java index af922e9..ab3af15 100644 --- a/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java +++ b/components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java @@ -89,6 +89,22 @@ public class CronetHttpURLConnectionTest extends CronetTestBase { connection.disconnect(); } + @SmallTest + @Feature({"Cronet"}) + @CompareDefaultWithCronet + // Regression test for crbug.com/571436. + public void testDefaultToPostWhenDoOutput() throws Exception { + URL url = new URL(NativeTestServer.getEchoMethodURL()); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setDoOutput(true); + OutputStream out = connection.getOutputStream(); + out.write("dummy data".getBytes()); + assertEquals(200, connection.getResponseCode()); + assertEquals("OK", connection.getResponseMessage()); + assertEquals("POST", TestUtil.getResponseAsString(connection)); + connection.disconnect(); + } + /** * Tests that using reflection to find {@code fixedContentLengthLong} works. */ |