diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-29 23:20:43 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2013-06-29 23:20:43 +0900 |
| commit | d128a39fb6d9ecf4f26af9858852bcd2ab8935dd (patch) | |
| tree | a8685ca346e869e13e1ee8e6859fd59dd52c8fec /src/HttpServerCommand.cc | |
| parent | 6a3e26a34d4e1c878e2d7d4ba2f72c362c5f8a3a (diff) | |
HttpServer: Return bool for receiveHeader, use std::unique_ptr for headers
Diffstat (limited to 'src/HttpServerCommand.cc')
| -rw-r--r-- | src/HttpServerCommand.cc | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/HttpServerCommand.cc b/src/HttpServerCommand.cc index 1784611b..106d1b97 100644 --- a/src/HttpServerCommand.cc +++ b/src/HttpServerCommand.cc @@ -137,7 +137,7 @@ std::string createWebSocketServerKey(const std::string& clientKey) } // namespace namespace { -int websocketHandshake(const std::shared_ptr<HttpHeader>& header) +int websocketHandshake(const HttpHeader* header) { if(header->getMethod() != "GET" || header->find(HttpHeader::SEC_WEBSOCKET_KEY).empty()) { @@ -190,9 +190,7 @@ bool HttpServerCommand::execute() } #endif // ENABLE_SSL - std::shared_ptr<HttpHeader> header; - header = httpServer_->receiveRequest(); - if(!header) { + if(!httpServer_->receiveRequest()) { updateWriteCheck(); e_->addCommand(std::unique_ptr<Command>(this)); return false; @@ -209,10 +207,11 @@ bool HttpServerCommand::execute() e_->setNoWait(true); return true; } + auto& header = httpServer_->getRequestHeader(); if(header->fieldContains(HttpHeader::UPGRADE, "websocket") && header->fieldContains(HttpHeader::CONNECTION, "upgrade")) { #ifdef ENABLE_WEBSOCKET - int status = websocketHandshake(header); + int status = websocketHandshake(header.get()); if(status == 101) { std::string serverKey = createWebSocketServerKey |
