summaryrefslogtreecommitdiff
path: root/chromium/components/winhttp/proxy_info.h
blob: 3abcd8cc58cb6445f139921c92690a5ca378d57c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_WINHTTP_PROXY_INFO_H_
#define COMPONENTS_WINHTTP_PROXY_INFO_H_

#include <string>

namespace winhttp {

struct ProxyInfo {
  ProxyInfo();
  ProxyInfo(bool auto_detect,
            const std::wstring& auto_config_url,
            const std::wstring& proxy,
            const std::wstring& proxy_bypass);
  ~ProxyInfo();

  ProxyInfo(const ProxyInfo& proxy_info);
  ProxyInfo& operator=(const ProxyInfo& proxy_info);

  ProxyInfo(ProxyInfo&& proxy_info);
  ProxyInfo& operator=(ProxyInfo&& proxy_info);

  // Specifies the configuration is Web Proxy Auto Discovery (WPAD).
  bool auto_detect = false;

  // The url of the proxy auto configuration (PAC) script, if known.
  std::wstring auto_config_url;

  // Named proxy information.
  // The proxy string is usually something as "http=foo:80;https=bar:8080".
  // According to the documentation for WINHTTP_PROXY_INFO, multiple proxies
  // are separated by semicolons or whitespace.
  std::wstring proxy;
  std::wstring proxy_bypass;
};

}  // namespace winhttp

#endif  // COMPONENTS_WINHTTP_PROXY_INFO_H_