diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-09-23 20:59:34 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2012-09-23 20:59:34 +0900 |
| commit | dd7014a6121c0985e94451e2492a112402501335 (patch) | |
| tree | f3f1ac5a8fd5a11091c28122003f31f4c172fa19 /src/HttpServerCommand.cc | |
| parent | 0b4dec02505a0be3dabcd01eab98f015f115bed8 (diff) | |
Store only interesting HTTP headers in HttpHeader
In this change, we defined HTTP header fields we are interested in.
We only store those headers in HttpHeader object. Accessing HTTP
headers in HttpHeader object is now done through enum values.
Diffstat (limited to 'src/HttpServerCommand.cc')
| -rw-r--r-- | src/HttpServerCommand.cc | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/HttpServerCommand.cc b/src/HttpServerCommand.cc index bb560509..ca0b9071 100644 --- a/src/HttpServerCommand.cc +++ b/src/HttpServerCommand.cc @@ -133,9 +133,9 @@ namespace { int websocketHandshake(const SharedHandle<HttpHeader>& header) { if(header->getMethod() != "GET" || - header->find("sec-websocket-key").empty()) { + header->find(HttpHeader::SEC_WEBSOCKET_KEY).empty()) { return 400; - } else if(header->find("sec-websocket-version") != "13") { + } else if(header->find(HttpHeader::SEC_WEBSOCKET_VERSION) != "13") { return 426; } else if(header->getRequestPath() != "/jsonrpc") { return 404; @@ -177,14 +177,15 @@ bool HttpServerCommand::execute() e_->setNoWait(true); return true; } - if(header->fieldContains("upgrade", "websocket") && - header->fieldContains("connection", "upgrade")) { + if(header->fieldContains(HttpHeader::UPGRADE, "websocket") && + header->fieldContains(HttpHeader::CONNECTION, "upgrade")) { #ifdef ENABLE_WEBSOCKET int status = websocketHandshake(header); Command* command; if(status == 101) { std::string serverKey = - createWebSocketServerKey(header->find("sec-websocket-key")); + createWebSocketServerKey + (header->find(HttpHeader::SEC_WEBSOCKET_KEY)); httpServer_->feedUpgradeResponse("websocket", fmt("Sec-WebSocket-Accept: %s\r\n", serverKey.c_str())); |
