Upstream version 9.37.195.0
[platform/framework/web/crosswalk.git] / src / android_webview / java / src / org / chromium / android_webview / AwWebResourceResponse.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.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
26     public AwWebResourceResponse(String mimeType, String encoding, InputStream data) {
27         mMimeType = mimeType;
28         mCharset = encoding;
29         mData = data;
30     }
31
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
52     public String getMimeType() {
53         return mMimeType;
54     }
55
56     @CalledByNative
57     public String getCharset() {
58         return mCharset;
59     }
60
61     @CalledByNative
62     public InputStream getData() {
63         return mData;
64     }
65
66     @CalledByNative
67     public int getStatusCode() {
68         return mStatusCode;
69     }
70
71     @CalledByNative
72     public String getReasonPhrase() {
73         return mReasonPhrase;
74     }
75
76     @CalledByNative
77     public String[] getResponseHeaderNames() {
78         return mResponseHeaderNames;
79     }
80
81     @CalledByNative
82     public String[] getResponseHeaderValues() {
83         return mResponseHeaderValues;
84     }
85 }