Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / components / cronet / android / java / src / org / chromium / net / ResponseInfo.java
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.net;
6
7 import java.net.URL;
8 import java.util.List;
9 import java.util.Map;
10
11 /**
12  * Contains basic information about a response. Sent to the embedder whenever
13  * headers are received.
14  */
15 public abstract interface ResponseInfo {
16     /**
17      * Return the url the response is for (Not the original URL - after
18      * redirects, it's the new URL).
19      */
20     URL getUrl();
21
22     /**
23      *
24      * @return the url chain, including all redirects.  The originally
25      * requested URL is first.
26      */
27     URL[] getUrlChain();
28
29     /**
30      * Returns the HTTP status code.
31      */
32     int getHttpStatusCode();
33
34     /**
35      * Returns an unmodifiable map of the response-header fields and values.
36      * The null key is mapped to the HTTP status line for compatibility with
37      * HttpUrlConnection.
38      */
39     Map<String, List<String>> getAllHeaders();
40
41     /** True if the response came from the cache.  Requests that were
42      * revalidated over the network before being retrieved from the cache are
43      * considered cached.
44      */
45     boolean wasCached();
46
47     /**
48      *
49      * @return
50      */
51     boolean wasFetchedOverSPDY();
52
53     /**
54      *
55      * @return
56      */
57     boolean wasFetchedOverQUIC();
58 };