summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp')
-rw-r--r--Source/WebKit2/UIProcess/InspectorServer/WebSocketServerConnection.cpp36
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);