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#ifndef NET_URL_REQUEST_REDIRECT_INFO_H_
6#define NET_URL_REQUEST_REDIRECT_INFO_H_
7
8#include <string>
9
10#include "net/base/net_export.h"
11#include "url/gurl.h"
12
13namespace net {
14
15// RedirectInfo captures information about a redirect and any fields in a
16// request that change. This struct must be kept in sync with
17// content/common/resource_messages.h.
18struct NET_EXPORT RedirectInfo {
19  RedirectInfo();
20  ~RedirectInfo();
21
22  // The status code for the redirect response. This is almost redundant with
23  // the response headers, but some URLRequestJobs emit redirects without
24  // headers.
25  int status_code;
26
27  // The new request method. Depending on the response code, the request method
28  // may change.
29  std::string new_method;
30
31  // The new request URL.
32  GURL new_url;
33
34  // The new first-party URL for cookies.
35  GURL new_first_party_for_cookies;
36
37  // The new HTTP referrer header.
38  std::string new_referrer;
39};
40
41}  // namespace net
42
43#endif  // NET_URL_REQUEST_REDIRECT_INFO_H_
44