OLD | NEW |
| (Empty) |
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.io.IOException; | |
8 import java.nio.ByteBuffer; | |
9 import java.nio.channels.ReadableByteChannel; | |
10 import java.util.List; | |
11 import java.util.Map; | |
12 | |
13 /** | |
14 * HTTP request (GET or POST). | |
15 * @deprecated Use {@link UrlRequest} instead. | |
16 * {@hide as it's deprecated} | |
17 */ | |
18 @Deprecated | |
19 public interface HttpUrlRequest { | |
20 | |
21 public static final int REQUEST_PRIORITY_IDLE = 0; | |
22 | |
23 public static final int REQUEST_PRIORITY_LOWEST = 1; | |
24 | |
25 public static final int REQUEST_PRIORITY_LOW = 2; | |
26 | |
27 public static final int REQUEST_PRIORITY_MEDIUM = 3; | |
28 | |
29 public static final int REQUEST_PRIORITY_HIGHEST = 4; | |
30 | |
31 /** | |
32 * Returns the URL associated with this request. | |
33 */ | |
34 String getUrl(); | |
35 | |
36 /** | |
37 * Requests a range starting at the given offset to the end of the resource. | |
38 * The server may or may not honor the offset request. The client must check | |
39 * the HTTP status code before processing the response. | |
40 */ | |
41 void setOffset(long offset); | |
42 | |
43 /** | |
44 * Limits the size of the download. | |
45 * | |
46 * @param limit Maximum size of the downloaded response (post gzip) | |
47 * @param cancelEarly If true, cancel the download as soon as the size of | |
48 * the response is known. If false, download {@code responseSize} | |
49 * bytes and then cancel. | |
50 */ | |
51 void setContentLengthLimit(long limit, boolean cancelEarly); | |
52 | |
53 /** | |
54 * Sets data to upload as part of a POST request. | |
55 * | |
56 * @param contentType MIME type of the post content or null if this is not a | |
57 * POST. | |
58 * @param data The content that needs to be uploaded if this is a POST | |
59 * request. | |
60 */ | |
61 void setUploadData(String contentType, byte[] data); | |
62 | |
63 /** | |
64 * Sets a readable byte channel to upload as part of a POST request. | |
65 * | |
66 * <p>Once {@link #start()} is called, this channel is guaranteed to be | |
67 * closed, either when the upload completes, or when it is canceled. | |
68 * | |
69 * @param contentType MIME type of the post content or null if this is not a | |
70 * POST. | |
71 * @param channel The channel to read to read upload data from if this is a | |
72 * POST request. | |
73 * @param contentLength The length of data to upload. | |
74 */ | |
75 void setUploadChannel(String contentType, ReadableByteChannel channel, | |
76 long contentLength); | |
77 | |
78 /** | |
79 * Sets the HTTP method verb to use for this request. | |
80 * | |
81 * <p>The default when this method is not called is "GET" if the request has | |
82 * no body or "POST" if it does. | |
83 * | |
84 * @param method "GET", "POST", etc. Must be all uppercase. | |
85 */ | |
86 void setHttpMethod(String method); | |
87 | |
88 /** | |
89 * Disables redirect for this request. | |
90 */ | |
91 void disableRedirects(); | |
92 | |
93 /** | |
94 * Start executing the request. | |
95 * <p> | |
96 * If this is a streaming upload request using a ReadableByteChannel, the | |
97 * call will block while the request is uploaded. | |
98 */ | |
99 void start(); | |
100 | |
101 /** | |
102 * Cancel the request in progress. | |
103 */ | |
104 void cancel(); | |
105 | |
106 /** | |
107 * Returns {@code true} if the request has been canceled. | |
108 */ | |
109 boolean isCanceled(); | |
110 | |
111 /** | |
112 * Returns protocol (e.g. "quic/1+spdy/3") negotiated with server. Returns | |
113 * empty string if no protocol was negotiated, or the protocol is not known. | |
114 * Returns empty when using plain http or https. Must be called after | |
115 * onResponseStarted but before request is recycled. | |
116 */ | |
117 String getNegotiatedProtocol(); | |
118 | |
119 /** | |
120 * Returns whether the response is serviced from the cache. | |
121 */ | |
122 boolean wasCached(); | |
123 | |
124 /** | |
125 * Returns the entire response as a ByteBuffer. | |
126 */ | |
127 ByteBuffer getByteBuffer(); | |
128 | |
129 /** | |
130 * Returns the entire response as a byte array. | |
131 */ | |
132 byte[] getResponseAsBytes(); | |
133 | |
134 /** | |
135 * Returns the expected content length. It is not guaranteed to be correct | |
136 * and may be -1 if the content length is unknown. | |
137 */ | |
138 long getContentLength(); | |
139 | |
140 /** | |
141 * Returns the content MIME type if known or {@code null} otherwise. | |
142 */ | |
143 String getContentType(); | |
144 | |
145 /** | |
146 * Returns the HTTP status code. It may be 0 if the request has not started | |
147 * or failed before getting the status code from the server. If the status | |
148 * code is 206 (partial response) after {@link #setOffset} is called, the | |
149 * method returns 200. | |
150 */ | |
151 int getHttpStatusCode(); | |
152 | |
153 /** | |
154 * Returns the HTTP status text of the status line. For example, if the | |
155 * request has a "HTTP/1.1 200 OK" response, this method returns "OK". It | |
156 * returns null if the request has not started. | |
157 */ | |
158 String getHttpStatusText(); | |
159 | |
160 /** | |
161 * Returns the response header value for the given name or {@code null} if | |
162 * not found. | |
163 */ | |
164 String getHeader(String name); | |
165 | |
166 /** | |
167 * Returns an unmodifiable map of the response-header fields and values. | |
168 * The null key is mapped to the HTTP status line for compatibility with | |
169 * HttpUrlConnection. | |
170 */ | |
171 Map<String, List<String>> getAllHeaders(); | |
172 | |
173 /** | |
174 * Returns the exception that occurred while executing the request of null | |
175 * if the request was successful. | |
176 */ | |
177 IOException getException(); | |
178 } | |
OLD | NEW |