#include "net/test/embedded_test_server/websocket_handler.h"
#include "base/memory/scoped_refptr.h"
#include "base/strings/string_number_conversions.h"
#include "net/test/embedded_test_server/websocket_connection.h"
namespace net::test_server {
WebSocketHandler::WebSocketHandler(
scoped_refptr<WebSocketConnection> connection)
: connection_(std::move(connection)) {}
WebSocketHandler::~WebSocketHandler() = default;
void WebSocketHandler::OnPing(base::span<const uint8_t> payload) {
if (connection()) {
connection()->SendPong(payload);
}
}
void WebSocketHandler::OnPong(base::span<const uint8_t> payload) {
VLOG(3) << "Received PONG message.";
}
void WebSocketHandler::OnClosingHandshake(std::optional<uint16_t> code,
std::string_view message) {
VLOG(3) << "Closing handshake received with code: "
<< (code.has_value() ? base::NumberToString(code.value()) : "none")
<< ", message: " << message;
connection()->RespondToCloseFrame(code, message);
}
}