16e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 26e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 36e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// found in the LICENSE file. 46e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 56e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#ifndef NET_URL_REQUEST_REDIRECT_INFO_H_ 66e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#define NET_URL_REQUEST_REDIRECT_INFO_H_ 76e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 86e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include <string> 96e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "net/base/net_export.h" 116e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#include "url/gurl.h" 126e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 136e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)namespace net { 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 156e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// RedirectInfo captures information about a redirect and any fields in a 166e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// request that change. This struct must be kept in sync with 176e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)// content/common/resource_messages.h. 186e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)struct NET_EXPORT RedirectInfo { 196e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) RedirectInfo(); 206e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) ~RedirectInfo(); 216e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 226e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // The status code for the redirect response. This is almost redundant with 236e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // the response headers, but some URLRequestJobs emit redirects without 246e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // headers. 256e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) int status_code; 266e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 276e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // The new request method. Depending on the response code, the request method 286e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // may change. 296e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) std::string new_method; 306e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 316e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // The new request URL. 326e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) GURL new_url; 336e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // The new first-party URL for cookies. 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) GURL new_first_party_for_cookies; 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) // The new HTTP referrer header. 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) std::string new_referrer; 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)}; 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)} // namespace net 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 436e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)#endif // NET_URL_REQUEST_REDIRECT_INFO_H_ 44