// 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. #include "net/ssl/ssl_key_logger.h" #include "base/check.h" #include "base/no_destructor.h" namespace net { // static bool SSLKeyLoggerManager::IsActive() { return Get()->ssl_key_logger_ != nullptr; } // static void SSLKeyLoggerManager::SetSSLKeyLogger( std::unique_ptr logger) { DCHECK(!IsActive()); Get()->ssl_key_logger_ = std::move(logger); } // static void SSLKeyLoggerManager::KeyLogCallback(const SSL* /*ssl*/, const char* line) { DCHECK(IsActive()); Get()->ssl_key_logger_->WriteLine(line); } SSLKeyLoggerManager::SSLKeyLoggerManager() = default; // static SSLKeyLoggerManager* SSLKeyLoggerManager::Get() { static base::NoDestructor owner; return owner.get(); } } // namespace net