fix memory leak in url encode and decode
This commit is contained in:
@@ -19,7 +19,6 @@
|
||||
#include "EcsMetadataFetcher.h"
|
||||
#include <chrono>
|
||||
#include <iomanip>
|
||||
#include <chrono>
|
||||
#include <mutex>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
@@ -49,6 +49,7 @@ std::string AlibabaCloud::UrlEncode(const std::string & src) {
|
||||
char *output = curl_easy_escape(curl, src.c_str(), src.size());
|
||||
std::string result(output);
|
||||
curl_free(output);
|
||||
curl_easy_cleanup(curl);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -58,6 +59,7 @@ std::string AlibabaCloud::UrlDecode(const std::string & src) {
|
||||
char *output = curl_easy_unescape(curl, src.c_str(), src.size(), &outlength);
|
||||
std::string result(output, outlength);
|
||||
curl_free(output);
|
||||
curl_easy_cleanup(curl);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -25,14 +25,14 @@ namespace {
|
||||
request.setDomain("nlp.cn-shanghai.aliyuncs.com");
|
||||
request.setResourcePath("/nlp/api/wordsegment/general");
|
||||
request.setHttpMethod(HttpRequest::Post);
|
||||
const char * data = "{\"lang\":\"ZH\",\"text\":\"Iphone is a bad choice 专用数据线\"}";
|
||||
const char * data = "{\"lang\":\"ZH\",\"text\":\"Iphone is a good choice 专用数据线\"}";
|
||||
request.setContent(data, strlen(data));
|
||||
request.setHeaderParameter("Content-Type", "application/json;chrset=utf-8");
|
||||
request.setVersion("2018-04-08");
|
||||
|
||||
auto outcome = client.commonResponse(request);
|
||||
EXPECT_TRUE(outcome.error().errorCode().empty());
|
||||
const std::string expected = "{\"data\":[{\"id\":0,\"word\":\"Iphone\"},{\"id\":1,\"word\":\" \"},{\"id\":2,\"word\":\"is\"},{\"id\":3,\"word\":\" \"},{\"id\":4,\"word\":\"a\"},{\"id\":5,\"word\":\" \"},{\"id\":6,\"word\":\"bad\"},{\"id\":7,\"word\":\" \"},{\"id\":8,\"word\":\"choice\"},{\"id\":9,\"word\":\" \"},{\"id\":10,\"word\":\"专用\"},{\"id\":11,\"word\":\"数据线\"}]}";
|
||||
const std::string expected = "{\"data\":[{\"id\":0,\"word\":\"Iphone\"},{\"id\":1,\"word\":\" \"},{\"id\":2,\"word\":\"is\"},{\"id\":3,\"word\":\" \"},{\"id\":4,\"word\":\"a\"},{\"id\":5,\"word\":\" \"},{\"id\":6,\"word\":\"good\"},{\"id\":7,\"word\":\" \"},{\"id\":8,\"word\":\"choice\"},{\"id\":9,\"word\":\" \"},{\"id\":10,\"word\":\"专用\"},{\"id\":11,\"word\":\"数据线\"}]}";
|
||||
EXPECT_TRUE(outcome.result().payload() == expected);
|
||||
AlibabaCloud::ShutdownSdk();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user