summaryrefslogtreecommitdiffstats
path: root/components/cronet
diff options
context:
space:
mode:
Diffstat (limited to 'components/cronet')
-rw-r--r--components/cronet/android/java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java3
-rw-r--r--components/cronet/android/test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java16
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.
*/