From f4e2c7f0603fdb0609bf163ee5ea683a44b98d69 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Tue, 20 Mar 2012 21:42:09 +0900 Subject: Added JSON-RPC over WebSocket. Wslay library must be placed under deps/wslay. --- src/WebSocketResponseCommand.cc | 72 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/WebSocketResponseCommand.cc (limited to 'src/WebSocketResponseCommand.cc') diff --git a/src/WebSocketResponseCommand.cc b/src/WebSocketResponseCommand.cc new file mode 100644 index 00000000..ba6add52 --- /dev/null +++ b/src/WebSocketResponseCommand.cc @@ -0,0 +1,72 @@ +/* */ +#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 SharedHandle& httpServer, + DownloadEngine* e, + const SharedHandle& socket) + : AbstractHttpServerResponseCommand(cuid, httpServer, e, socket) +{} + +WebSocketResponseCommand::~WebSocketResponseCommand() +{} + +void WebSocketResponseCommand::afterSend +(const SharedHandle& httpServer, + DownloadEngine* e) +{ + SharedHandle wsSession + (new WebSocketSession(httpServer->getSocket(), getDownloadEngine())); + WebSocketInteractionCommand* command = + new WebSocketInteractionCommand(getCuid(), wsSession, e, + wsSession->getSocket()); + wsSession->setCommand(command); + e->addCommand(command); +} + +} // namespace rpc + +} // namespace aria2 -- cgit