/* */ #include "WebSocketResponseCommand.h" #include "SocketCore.h" #include "DownloadEngine.h" #include "HttpServer.h" #include "WebSocketSession.h" #include "WebSocketInteractionCommand.h" namespace aria2 { namespace rpc { WebSocketResponseCommand::WebSocketResponseCommand( cuid_t cuid, const std::shared_ptr& httpServer, DownloadEngine* e, const std::shared_ptr& socket) : AbstractHttpServerResponseCommand(cuid, httpServer, e, socket) { } WebSocketResponseCommand::~WebSocketResponseCommand() = default; void WebSocketResponseCommand::afterSend( const std::shared_ptr& httpServer, DownloadEngine* e) { std::shared_ptr wsSession( new WebSocketSession(httpServer->getSocket(), getDownloadEngine())); auto command = make_unique( getCuid(), wsSession, e, wsSession->getSocket()); wsSession->setCommand(command.get()); e->addCommand(std::move(command)); } } // namespace rpc } // namespace aria2