|  | // Copyright 2015 The Chromium Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | [DartPackage="mojo"] | 
|  | module mojo; | 
|  |  | 
|  | import "mojo/public/interfaces/network/http_header.mojom"; | 
|  |  | 
|  | struct URLRequest { | 
|  | // Specify the cache behavior of the request. | 
|  | enum CacheMode { | 
|  | // Default behavior. | 
|  | DEFAULT, | 
|  |  | 
|  | // 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. | 
|  | BYPASS_CACHE, | 
|  |  | 
|  | // The HTTP request will fail if it cannot serve the requested resource | 
|  | // from the cache (or some equivalent local store). | 
|  | ONLY_FROM_CACHE, | 
|  | }; | 
|  |  | 
|  | // The URL to load. | 
|  | string url; | 
|  |  | 
|  | // The HTTP method if applicable. | 
|  | string method = "GET"; | 
|  |  | 
|  | // Additional HTTP request headers. | 
|  | array<HttpHeader>? headers; | 
|  |  | 
|  | // The payload for the request body, represented as a concatenation of data | 
|  | // streams. For HTTP requests, the method must be set to "POST" or "PUT". | 
|  | array<handle<data_pipe_consumer>>? body; | 
|  |  | 
|  | // The buffer size of the data pipe returned in URLResponse's |body| member. | 
|  | // A value of 0 indicates that the default buffer size should be used.  This | 
|  | // value is just a suggestion. The URLLoader may choose to ignore this value. | 
|  | uint32 response_body_buffer_size = 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; | 
|  |  | 
|  | // The cache behavior for the request. | 
|  | CacheMode cache_mode = DEFAULT; | 
|  | }; |