From 139478672ff0d2c9413e962a893b75e64e8cc8c6 Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Fri, 6 Apr 2018 15:23:31 +0200 Subject: [PATCH] Fix check_nscp_api for multiple URL parameter usage NSClient++ doesn't support the bracket notation. refs #5706 --- plugins/check_nscp_api.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/check_nscp_api.cpp b/plugins/check_nscp_api.cpp index 133bd9d5d..333b217ab 100644 --- a/plugins/check_nscp_api.cpp +++ b/plugins/check_nscp_api.cpp @@ -17,7 +17,7 @@ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. * ******************************************************************************/ -#define VERSION "1.0.0" +#define VERSION "1.0.1" #include "remote/httpclientconnection.hpp" #include "remote/httprequest.hpp" @@ -88,9 +88,13 @@ static Dictionary::Ptr QueryEndpoint(const String& host, const String& port, con // Url() will call Utillity::UnescapeString() which will thrown an exception if it finds a lonely % req->RequestUrl = new Url(endpoint); + + // NSClient++ uses `time=1m&time=5m` instead of `time[]=1m&time[]=5m` + req->RequestUrl->SetArrayFormatUseBrackets(false); + req->AddHeader("password", password); if (l_Debug) - std::cout << "Sending request to 'https://" << host << ":" << port << req->RequestUrl->Format() << "'\n"; + std::cout << "Sending request to 'https://" << host << ":" << port << req->RequestUrl->Format(false, false) << "'\n"; // Submits the request. The 'ResultHttpCompletionCallback' is called once the HttpRequest receives an answer, // which then sets 'ready' to true -- 2.40.0