| // 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; |
| }; |