blob: ae5f9ee08ba6a000e64e320438c82b42bd2b24f4 [file] [log] [blame]
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef NET_PROXY_RESOLUTION_WIN_WINHTTP_STATUS_H_
#define NET_PROXY_RESOLUTION_WIN_WINHTTP_STATUS_H_
namespace net {
// This describes the full set of failure points that could occur when calling
// into the proxy_resolver_win service. Further detail is additionally provided
// by the Windows error code, which will be supplied alongside this enum.
//
// Keep in sync with proxy_resolver_win.mojom.WinHttpStatus.
enum class WinHttpStatus {
// No Error.
kOk,
// Aborted by caller.
kAborted,
// WinHttpOpen() API failed.
kWinHttpOpenFailed,
// WinHttpSetTimeouts() API failed.
kWinHttpSetTimeoutsFailed,
// WinHttpSetStatusCallback() API failed.
kWinHttpSetStatusCallbackFailed,
// WinHttpGetIEProxyConfigForCurrentUser() API failed.
kWinHttpGetIEProxyConfigForCurrentUserFailed,
// WinHttpCreateProxyResolver() API failed.
kWinHttpCreateProxyResolverFailed,
// WinHttpGetProxyForURLEx() API failed.
kWinHttpGetProxyForURLExFailed,
// Proxy resolution callback returned an error.
kStatusCallbackFailed,
// WinHttpGetProxyResult() API failed.
kWinHttpGetProxyResultFailed,
// WinHttpGetProxyResult() API unexpectedly returned an empty list.
kEmptyProxyList,
};
} // namespace net
#endif // NET_PROXY_RESOLUTION_WIN_WINHTTP_STATUS_H_