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

Unified Diff: mojo/services/public/interfaces/network/url_loader.mojom

Issue 324023002: Mojo: cleanup redirect handling for network service. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 6 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
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | mojo/shell/dynamic_service_loader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/services/public/interfaces/network/url_loader.mojom
diff --git a/mojo/services/public/interfaces/network/url_loader.mojom b/mojo/services/public/interfaces/network/url_loader.mojom
index feab00a78ec2c4ac7d61f0298b0ffd4ecdf3130f..b4bcf09f89d1c94068171d0f726516962b3970a9 100644
--- a/mojo/services/public/interfaces/network/url_loader.mojom
+++ b/mojo/services/public/interfaces/network/url_loader.mojom
@@ -7,20 +7,46 @@ import "network_error.mojom"
module mojo {
struct URLRequest {
+ // The URL to load.
string url;
+
+ // The HTTP method if applicable.
string method = "GET";
+
+ // Additional HTTP request headers.
string[] headers;
+
+ // The payload for the request body. For HTTP requests, the method must be
+ // set to "POST" or "PUT".
handle<data_pipe_consumer> body;
- int64 body_length = 0; // Set to -1 if length is unknown.
- bool follow_redirects = false;
+
+ // The number of bytes to be read from |body|. A Content-Length header of
+ // this value will be sent. Set to -1 if length is unknown, which will cause
+ // |body| to be uploaded using a chunked encoding.
+ int64 body_length = 0;
+
+ // If set to true, then redirects will be automatically followed. Otherwise,
+ // when a redirect is encounterd, FollowRedirect must be called to proceed.
+ bool auto_follow_redirects = false;
+
+ // If set to true, then the HTTP request will bypass the local cache and will
+ // have a 'Cache-Control: nocache' header added in that causes any proxy
+ // servers to also not satisfy the request from their cache. This has the
+ // effect of forcing a full end-to-end fetch.
bool bypass_cache = false;
};
struct URLResponse {
+ // The final URL of the response, after redirects have been followed.
string url;
- string[] redirects; // The sequence of redirected URLs.
+
+ // The HTTP status code. 0 if not applicable.
uint32 status_code;
+
+ // The HTTP status line.
string status_line;
+
+ // The HTTP response headers.
string[] headers;
};
@@ -30,23 +56,23 @@ interface URLLoader {
// be copied to |response_body_stream|.
//
// The client's |OnReceivedResponse| method will run when response meta data
- // becomes available, or if a redirect is encountered and |follow_redirects|
- // is false, the client's |OnRecievedRedirect| method will called.
+ // becomes available, or if a redirect response is encountered and
+ // |auto_follow_redirects| is false, the client's |OnRecievedRedirect| method
+ // will called instead.
//
// NOTE: You may observe data being pushed to |response_body_stream| before
// you receive |OnReceivedResponse|.
Start(URLRequest request, handle<data_pipe_producer> response_body_stream);
- // If the request passed to |Start| was configured with |follow_redirects|
- // set to false, then upon receiving a redirect, |OnReceivedRedirect| will be
- // called. To follow the indicated redirect, call the |FollowRedirect|
- // method.
+ // If the request passed to |Start| had |auto_follow_redirects| set to false,
+ // then upon receiving a redirect, |OnReceivedRedirect| will be called. To
+ // follow the indicated redirect, call the |FollowRedirect| method.
FollowRedirect();
};
interface URLLoaderClient {
// This method is called when a redirect is encountered, provided the
- // request's |follow_redirects| attribute was set to false.
+ // request's |auto_follow_redirects| attribute was set to false.
OnReceivedRedirect(URLResponse response, string new_url, string new_method);
// This method is called when response meta data becomes available.
« no previous file with comments | « mojo/services/network/url_loader_impl.cc ('k') | mojo/shell/dynamic_service_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698