• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.android_webview;
6 
7 import org.chromium.base.CalledByNative;
8 import org.chromium.base.JNINamespace;
9 
10 import java.io.InputStream;
11 import java.util.Map;
12 
13 /**
14  * The response information that is to be returned for a particular resource fetch.
15  */
16 @JNINamespace("android_webview")
17 public class AwWebResourceResponse {
18     private String mMimeType;
19     private String mCharset;
20     private InputStream mData;
21     private int mStatusCode;
22     private String mReasonPhrase;
23     private String[] mResponseHeaderNames;
24     private String[] mResponseHeaderValues;
25 
AwWebResourceResponse(String mimeType, String encoding, InputStream data)26     public AwWebResourceResponse(String mimeType, String encoding, InputStream data) {
27         mMimeType = mimeType;
28         mCharset = encoding;
29         mData = data;
30     }
31 
AwWebResourceResponse(String mimeType, String encoding, InputStream data, int statusCode, String reasonPhrase, Map<String, String> responseHeaders)32     public AwWebResourceResponse(String mimeType, String encoding, InputStream data,
33             int statusCode, String reasonPhrase, Map<String, String> responseHeaders) {
34         this(mimeType, encoding, data);
35 
36         mStatusCode = statusCode;
37         mReasonPhrase = reasonPhrase;
38 
39         if (responseHeaders != null) {
40             mResponseHeaderNames = new String[responseHeaders.size()];
41             mResponseHeaderValues = new String[responseHeaders.size()];
42             int i = 0;
43             for (Map.Entry<String, String> entry : responseHeaders.entrySet()) {
44                 mResponseHeaderNames[i] = entry.getKey();
45                 mResponseHeaderValues[i] = entry.getValue();
46                 i++;
47             }
48         }
49     }
50 
51     @CalledByNative
getMimeType()52     public String getMimeType() {
53         return mMimeType;
54     }
55 
56     @CalledByNative
getCharset()57     public String getCharset() {
58         return mCharset;
59     }
60 
61     @CalledByNative
getData()62     public InputStream getData() {
63         return mData;
64     }
65 
66     @CalledByNative
getStatusCode()67     public int getStatusCode() {
68         return mStatusCode;
69     }
70 
71     @CalledByNative
getReasonPhrase()72     public String getReasonPhrase() {
73         return mReasonPhrase;
74     }
75 
76     @CalledByNative
getResponseHeaderNames()77     public String[] getResponseHeaderNames() {
78         return mResponseHeaderNames;
79     }
80 
81     @CalledByNative
getResponseHeaderValues()82     public String[] getResponseHeaderValues() {
83         return mResponseHeaderValues;
84     }
85 }
86