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

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

Issue 423163007: Add method getAllHeaders to HttpUrlRequest. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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: components/cronet/android/java/src/org/chromium/net/UrlRequest.java
diff --git a/components/cronet/android/java/src/org/chromium/net/UrlRequest.java b/components/cronet/android/java/src/org/chromium/net/UrlRequest.java
index 9aef0086d32a0271492f7e3cd55a8d0db49f1583..8300d6a1ab373bf8d9676120b27016054602de62 100644
--- a/components/cronet/android/java/src/org/chromium/net/UrlRequest.java
+++ b/components/cronet/android/java/src/org/chromium/net/UrlRequest.java
@@ -15,7 +15,9 @@ import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.nio.channels.ReadableByteChannel;
import java.nio.channels.WritableByteChannel;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
@@ -276,6 +278,14 @@ public class UrlRequest {
return nativeGetHeader(mUrlRequestPeer, name);
}
+ // All response headers.
+ public Map<String, List<String>> getAllHeaders() {
+ validateHeadersAvailable();
+ ResponseHeadersMap result = new ResponseHeadersMap();
+ nativeGetAllHeaders(mUrlRequestPeer, result);
+ return result;
+ }
+
/**
* A callback invoked when the first chunk of the response has arrived.
*/
@@ -335,6 +345,19 @@ public class UrlRequest {
}
}
+ /**
+ * Appends header |name| with value |value| to |headersMap|.
+ */
+ @SuppressWarnings("unused")
+ @CalledByNative
+ private void onAppendResponseHeader(ResponseHeadersMap headersMap,
+ String name, String value) {
+ if (!headersMap.containsKey(name)) {
+ headersMap.put(name, new ArrayList<String>());
+ }
+ headersMap.get(name).add(value);
+ }
+
private void validateNotRecycled() {
if (mRecycled) {
throw new IllegalStateException("Accessing recycled request");
@@ -389,4 +412,13 @@ public class UrlRequest {
private native long nativeGetContentLength(long urlRequestPeer);
private native String nativeGetHeader(long urlRequestPeer, String name);
+
+ private native void nativeGetAllHeaders(long urlRequestPeer,
+ ResponseHeadersMap headers);
+
+
+ private class ResponseHeadersMap extends HashMap<String, List<String> > {
+
+ }
mmenke 2014/08/04 21:39:55 I believe this is generally considered an anti-pat
mef 2014/08/04 21:57:52 Yeah, I've started without it, but JNI generator w
+
mmenke 2014/08/04 21:39:55 nit: Remove extra whitespace.
mef 2014/08/04 21:57:53 Done.
}

Powered by Google App Engine
This is Rietveld 408576698