diff options
Diffstat (limited to 'Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp b/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp index a33855546..7af854217 100644 --- a/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp +++ b/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp @@ -30,6 +30,7 @@ #include "WebSocketServerConnection.h" +#include "HTTPHeaderNames.h" #include "HTTPRequest.h" #include "WebSocketServer.h" #include "WebSocketServerClient.h" @@ -46,11 +47,8 @@ using namespace WebCore; namespace WebKit { WebSocketServerConnection::WebSocketServerConnection(WebSocketServerClient* client, WebSocketServer* server) - : m_identifier(0) - , m_mode(HTTP) - , m_server(server) + : m_server(server) , m_client(client) - , m_shutdownAfterSend(false) { } @@ -59,17 +57,17 @@ WebSocketServerConnection::~WebSocketServerConnection() shutdownNow(); } -void WebSocketServerConnection::setSocketHandle(PassRefPtr<WebCore::SocketStreamHandle> socket) +void WebSocketServerConnection::setSocketHandle(Ref<SocketStreamHandle>&& socket) { ASSERT(!m_socket); - m_socket = socket; + m_socket = WTFMove(socket); } void WebSocketServerConnection::shutdownNow() { if (!m_socket) return; - RefPtr<SocketStreamHandle> socket = m_socket.release(); + auto socket = WTFMove(m_socket); socket->close(); m_shutdownAfterSend = false; } @@ -122,10 +120,10 @@ void WebSocketServerConnection::sendRawData(const char* data, size_t length) m_socket->send(data, length); } -void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle*) +void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle&) { // Destroy the SocketStreamHandle now to prevent closing an already closed socket later. - m_socket.clear(); + m_socket = nullptr; // Web Socket Mode. if (m_mode == WebSocket) @@ -135,11 +133,12 @@ void WebSocketServerConnection::didCloseSocketStream(SocketStreamHandle*) m_server->didCloseWebSocketServerConnection(this); } -void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle*, const char* data, int length) +void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle&, const char* data, std::optional<size_t> length) { // Each didReceiveData call adds more data to our buffer. // We clear the buffer when we have handled data from it. - m_bufferedData.append(data, length); + if (length) + m_bufferedData.append(data, length.value()); switch (m_mode) { case HTTP: @@ -154,17 +153,12 @@ void WebSocketServerConnection::didReceiveSocketStreamData(SocketStreamHandle*, } } -void WebSocketServerConnection::didUpdateBufferedAmount(WebCore::SocketStreamHandle*, size_t) +void WebSocketServerConnection::didUpdateBufferedAmount(SocketStreamHandle&, size_t) { if (m_shutdownAfterSend && !m_socket->bufferedAmount()) shutdownNow(); } -void WebSocketServerConnection::didFailSocketStream(SocketStreamHandle*, const SocketStreamError&) -{ - // Possible read or write error. -} - void WebSocketServerConnection::readHTTPMessage() { String failureReason; @@ -177,7 +171,7 @@ void WebSocketServerConnection::readHTTPMessage() // If this is a WebSocket request, perform the WebSocket Handshake. const HTTPHeaderMap& headers = request->headerFields(); - String upgradeHeaderValue = headers.get("Upgrade"); + String upgradeHeaderValue = headers.get(HTTPHeaderName::Upgrade); if (upgradeHeaderValue == "websocket") { upgradeToWebSocketServerConnection(request); return; @@ -206,10 +200,10 @@ void WebSocketServerConnection::upgradeToWebSocketServerConnection(PassRefPtr<HT // Build and send the WebSocket handshake response. const HTTPHeaderMap& requestHeaders = protectedRequest->headerFields(); - String accept = WebSocketHandshake::getExpectedWebSocketAccept(requestHeaders.get("Sec-WebSocket-Key")); + String accept = WebSocketHandshake::getExpectedWebSocketAccept(requestHeaders.get(HTTPHeaderName::SecWebSocketKey)); HTTPHeaderMap responseHeaders; - responseHeaders.add("Upgrade", requestHeaders.get("Upgrade")); - responseHeaders.add("Connection", requestHeaders.get("Connection")); + responseHeaders.add("Upgrade", requestHeaders.get(HTTPHeaderName::Upgrade)); + responseHeaders.add("Connection", requestHeaders.get(HTTPHeaderName::Connection)); responseHeaders.add("Sec-WebSocket-Accept", accept); sendHTTPResponseHeader(101, "WebSocket Protocol Handshake", responseHeaders); |