From 18fc5cb4df7084ab1b189583eb12852d554670bb Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Tue, 16 Oct 2018 17:29:41 +0200 Subject: [PATCH] Correctly set the aria2 secret rpc. --- src/aria2.cpp | 7 +++---- src/xmlrpc.h | 5 ++++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/aria2.cpp b/src/aria2.cpp index 0b403e091..97243ea7e 100644 --- a/src/aria2.cpp +++ b/src/aria2.cpp @@ -34,6 +34,7 @@ Aria2::Aria2(): callCmd.push_back("aria2c"); callCmd.push_back("--enable-rpc"); + callCmd.push_back(rpc_secret.c_str()); callCmd.push_back(rpc_port.c_str()); callCmd.push_back(download_dir.c_str()); // callCmd.push_back(log_dir.c_str()); @@ -99,8 +100,7 @@ std::string Aria2::doRequest(const MethodCall& methodCall) std::string Aria2::addUri(const std::vector& uris) { - MethodCall methodCall("aria2.addUri"); - methodCall.getParams().addParam().getValue().set(m_secret); + MethodCall methodCall("aria2.addUri", m_secret); auto uriParams = methodCall.getParams().addParam().getValue().getArray(); for (auto& uri : uris) { uriParams.addValue().set(uri); @@ -117,8 +117,7 @@ std::string Aria2::addUri(const std::vector& uris) std::string Aria2::tellStatus(const std::string& gid, const std::vector& statusKey) { - MethodCall methodCall("aria2.tellStatus"); - methodCall.getParams().addParam().getValue().set(m_secret); + MethodCall methodCall("aria2.tellStatus", m_secret); methodCall.getParams().addParam().getValue().set(gid); if (!statusKey.empty()) { auto statusArray = methodCall.getParams().addParam().getValue().getArray(); diff --git a/src/xmlrpc.h b/src/xmlrpc.h index a7ea2f34b..65659ddf7 100644 --- a/src/xmlrpc.h +++ b/src/xmlrpc.h @@ -202,10 +202,13 @@ class MethodCall { pugi::xml_document m_doc; public: - MethodCall(const std::string& methodName) { + MethodCall(const std::string& methodName, const std::string& secret) { auto mCall = m_doc.append_child("methodCall"); mCall.append_child("methodName").text().set(methodName.c_str()); mCall.append_child("params"); + if (!secret.empty()) { + getParams().addParam().getValue().set(secret); + } } Params getParams() const {