| // Copyright 2022 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef QUICHE_COMMON_QUICHE_CRYPTO_LOGGING_H_ |
| #define QUICHE_COMMON_QUICHE_CRYPTO_LOGGING_H_ |
| |
| #include "absl/status/status.h" |
| |
| namespace quiche { |
| |
| // In debug builds only, log OpenSSL error stack. Then clear OpenSSL error |
| // stack. |
| void DLogOpenSslErrors(); |
| |
| // Clears OpenSSL error stack. |
| void ClearOpenSslErrors(); |
| |
| // Include OpenSSL error stack in Status msg so that callers could choose to |
| // only log it in debug builds if required. |
| absl::Status SslErrorAsStatus( |
| absl::string_view msg, absl::StatusCode code = absl::StatusCode::kInternal); |
| |
| } // namespace quiche |
| |
| #endif // QUICHE_COMMON_QUICHE_CRYPTO_LOGGING_H_ |