| // Copyright 2012 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_BASE_NET_ERRORS_H__ |
| #define NET_BASE_NET_ERRORS_H__ |
| |
| #include <string> |
| |
| #include "base/files/file.h" |
| #include "base/logging.h" |
| #include "net/base/net_export.h" |
| #if defined(STARBOARD) |
| #include "starboard/socket.h" |
| #include "starboard/system.h" |
| #endif |
| |
| |
| namespace net { |
| |
| // Error values are negative. |
| enum Error { |
| // No error. Change NetError.template after changing value. |
| OK = 0, |
| |
| #define NET_ERROR(label, value) ERR_ ## label = value, |
| #include "net/base/net_error_list.h" |
| #undef NET_ERROR |
| |
| // The value of the first certificate error code. |
| ERR_CERT_BEGIN = ERR_CERT_COMMON_NAME_INVALID, |
| }; |
| |
| // Returns a textual representation of the error code for logging purposes. |
| NET_EXPORT std::string ErrorToString(int error); |
| |
| // Same as above, but leaves off the leading "net::". |
| NET_EXPORT std::string ErrorToShortString(int error); |
| |
| // Returns a textual representation of the error code and the extended eror |
| // code. |
| NET_EXPORT std::string ExtendedErrorToString(int error, |
| int extended_error_code); |
| |
| // Returns true if |error| is a certificate error code. Note this does not |
| // include errors for client certificates. |
| NET_EXPORT bool IsCertificateError(int error); |
| |
| // Returns true if |error| is a client certificate authentication error. This |
| // does not include ERR_SSL_PROTOCOL_ERROR which may also signal a bad client |
| // certificate. |
| NET_EXPORT bool IsClientCertificateError(int error); |
| |
| // Returns true if |error| is an error from hostname resolution. |
| NET_EXPORT bool IsHostnameResolutionError(int error); |
| |
| // Returns true if |error| means that the request has been blocked. |
| NET_EXPORT bool IsRequestBlockedError(int error); |
| |
| // Map system error code to Error. |
| NET_EXPORT Error MapSystemError(logging::SystemErrorCode os_error); |
| |
| #if defined(STARBOARD) |
| // Map socket error code to Error. |
| NET_EXPORT Error MapSocketError(SbSocketError error); |
| |
| // Gets the last socket error as a net error. |
| static inline Error MapLastSocketError(SbSocket socket) { |
| return MapSocketError(SbSocketGetLastError(socket)); |
| } |
| |
| // Gets the last system error as a net error. |
| static inline Error MapLastSystemError() { |
| return MapSystemError(SbSystemGetLastError()); |
| } |
| #endif |
| |
| // A convenient function to translate file error to net error code. |
| NET_EXPORT Error FileErrorToNetError(base::File::Error file_error); |
| |
| } // namespace net |
| |
| #endif // NET_BASE_NET_ERRORS_H__ |