Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(791)

Unified Diff: net/cronet/android/java/src/org/chromium/net/HttpUrlRequest.java

Issue 183333002: Cronet Java wrappers to fallback to HttpUrlConnection if Cronet is not available. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address formatting comments. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/cronet/android/java/src/org/chromium/net/HttpUrlRequest.java
diff --git a/net/cronet/android/java/src/org/chromium/net/HttpUrlRequest.java b/net/cronet/android/java/src/org/chromium/net/HttpUrlRequest.java
new file mode 100644
index 0000000000000000000000000000000000000000..71901a822c3bf316d418bd5fa503934338df587e
--- /dev/null
+++ b/net/cronet/android/java/src/org/chromium/net/HttpUrlRequest.java
@@ -0,0 +1,120 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.net;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.channels.ReadableByteChannel;
+
+/**
+ * HTTP request (GET or POST).
+ */
+public interface HttpUrlRequest {
+
+ public static final int REQUEST_PRIORITY_IDLE = 0;
+
+ public static final int REQUEST_PRIORITY_LOWEST = 1;
+
+ public static final int REQUEST_PRIORITY_LOW = 2;
+
+ public static final int REQUEST_PRIORITY_MEDIUM = 3;
+
+ public static final int REQUEST_PRIORITY_HIGHEST = 4;
+
+ /**
+ * Returns the URL associated with this request.
+ */
+ String getUrl();
+
+ /**
+ * Requests a range starting at the given offset to the end of the resource.
+ * The server may or may not honor the offset request. The client must check
+ * the HTTP status code before processing the response.
+ */
+ void setOffset(long offset);
+
+ /**
+ * Limits the size of the download.
+ *
+ * @param limit Maximum size of the downloaded response (post gzip)
+ * @param cancelEarly If true, cancel the download as soon as the size of
+ * the response is known. If false, download {@code responseSize}
+ * bytes and then cancel.
+ */
+ void setContentLengthLimit(long limit, boolean cancelEarly);
+
+ /**
+ * Sets data to upload as part of a POST request.
+ *
+ * @param contentType MIME type of the post content or null if this is not a
+ * POST.
+ * @param data The content that needs to be uploaded if this is a POST
+ * request.
+ */
+ void setUploadData(String contentType, byte[] data);
+
+ /**
+ * Sets a readable byte channel to upload as part of a POST request.
+ *
+ * @param contentType MIME type of the post content or null if this is not a
+ * POST.
+ * @param channel The channel to read to read upload data from if this is a
+ * POST request.
+ */
+ void setUploadChannel(String contentType, ReadableByteChannel channel);
+
+ /**
+ * Start executing the request.
+ * <p>
+ * If this is a streaming upload request using a ReadableByteChannel, the
+ * call will block while the request is uploaded.
+ */
+ void start();
+
+ /**
+ * Cancel the request in progress.
+ */
+ void cancel();
+
+ /**
+ * Returns {@code true} if the request has been canceled.
+ */
+ boolean isCanceled();
+
+ /**
+ * Returns the entire response as a ByteBuffer.
+ */
+ ByteBuffer getByteBuffer();
+
+ /**
+ * Returns the entire response as a byte array.
+ */
+ byte[] getResponseAsBytes();
+
+ /**
+ * Returns the expected content length. It is not guaranteed to be correct
+ * and may be -1 if the content length is unknown.
+ */
+ long getContentLength();
+
+ /**
+ * Returns the content MIME type if known or {@code null} otherwise.
+ */
+ String getContentType();
+
+ /**
+ * Returns the HTTP status code. It may be 0 if the request has not started
+ * or failed before getting the status code from the server. If the status
+ * code is 206 (partial response) after {@link #setOffset} is called, the
+ * method returns 200.
+ */
+ int getHttpStatusCode();
+
+ /**
+ * Returns the exception that occurred while executing the request of null
+ * if the request was successful.
+ */
+ IOException getException();
+}

Powered by Google App Engine
This is Rietveld 408576698