1 // Copyright 2024 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/test/embedded_test_server/websocket_echo_handler.h" 6 7 #include <memory> 8 9 #include "base/memory/scoped_refptr.h" 10 #include "net/test/embedded_test_server/websocket_connection.h" 11 #include "net/test/embedded_test_server/websocket_handler.h" 12 13 namespace net::test_server { 14 WebSocketEchoHandler(scoped_refptr<WebSocketConnection> connection)15WebSocketEchoHandler::WebSocketEchoHandler( 16 scoped_refptr<WebSocketConnection> connection) 17 : WebSocketHandler(std::move(connection)) {} 18 OnHandshake(const HttpRequest & request)19void WebSocketEchoHandler::OnHandshake(const HttpRequest& request) { 20 CHECK(connection()); 21 connection()->SetResponseHeader("X-Custom-Header", "WebSocketEcho"); 22 } 23 OnTextMessage(std::string_view message)24void WebSocketEchoHandler::OnTextMessage(std::string_view message) { 25 CHECK(connection()); 26 connection()->SendTextMessage(message); 27 } 28 OnBinaryMessage(base::span<const uint8_t> message)29void WebSocketEchoHandler::OnBinaryMessage(base::span<const uint8_t> message) { 30 CHECK(connection()); 31 connection()->SendBinaryMessage(message); 32 } 33 34 } // namespace net::test_server 35