mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2025-05-10 09:43:51 +00:00
Fix #878
This commit is contained in:
parent
89519c88e2
commit
b845425cd0
@ -5933,7 +5933,7 @@ inline Result ClientImpl::Get(const char *path, const Params ¶ms,
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string path_with_query = detail::append_query_params(path, params);
|
std::string path_with_query = detail::append_query_params(path, params);
|
||||||
return Get(path_with_query.c_str(), params, headers, response_handler,
|
return Get(path_with_query.c_str(), headers, response_handler,
|
||||||
content_receiver, progress);
|
content_receiver, progress);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
63
test/test.cc
63
test/test.cc
@ -3495,6 +3495,69 @@ TEST(ErrorHandlerWithContentProviderTest, ErrorHandler) {
|
|||||||
ASSERT_FALSE(svr.is_running());
|
ASSERT_FALSE(svr.is_running());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(GetWithParametersTest, GetWithParameters) {
|
||||||
|
Server svr;
|
||||||
|
|
||||||
|
svr.Get("/", [&](const Request & req, Response &res) {
|
||||||
|
auto text = req.get_param_value("hello");
|
||||||
|
res.set_content(text, "text/plain");
|
||||||
|
});
|
||||||
|
|
||||||
|
auto listen_thread = std::thread([&svr]() { svr.listen("localhost", PORT); });
|
||||||
|
while (!svr.is_running()) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
|
}
|
||||||
|
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||||
|
|
||||||
|
Client cli("localhost", PORT);
|
||||||
|
|
||||||
|
Params params;
|
||||||
|
params.emplace("hello", "world");
|
||||||
|
auto res = cli.Get("/", params, Headers{});
|
||||||
|
|
||||||
|
ASSERT_TRUE(res);
|
||||||
|
EXPECT_EQ(200, res->status);
|
||||||
|
EXPECT_EQ("world", res->body);
|
||||||
|
|
||||||
|
svr.stop();
|
||||||
|
listen_thread.join();
|
||||||
|
ASSERT_FALSE(svr.is_running());
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(GetWithParametersTest, GetWithParameters2) {
|
||||||
|
Server svr;
|
||||||
|
|
||||||
|
svr.Get("/", [&](const Request & req, Response &res) {
|
||||||
|
auto text = req.get_param_value("hello");
|
||||||
|
res.set_content(text, "text/plain");
|
||||||
|
});
|
||||||
|
|
||||||
|
auto listen_thread = std::thread([&svr]() { svr.listen("localhost", PORT); });
|
||||||
|
while (!svr.is_running()) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(1));
|
||||||
|
}
|
||||||
|
std::this_thread::sleep_for(std::chrono::seconds(1));
|
||||||
|
|
||||||
|
Client cli("localhost", PORT);
|
||||||
|
|
||||||
|
Params params;
|
||||||
|
params.emplace("hello", "world");
|
||||||
|
|
||||||
|
std::string body;
|
||||||
|
auto res = cli.Get("/", params, Headers{}, [&](const char *data, size_t data_length) {
|
||||||
|
body.append(data, data_length);
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
|
||||||
|
ASSERT_TRUE(res);
|
||||||
|
EXPECT_EQ(200, res->status);
|
||||||
|
EXPECT_EQ("world", body);
|
||||||
|
|
||||||
|
svr.stop();
|
||||||
|
listen_thread.join();
|
||||||
|
ASSERT_FALSE(svr.is_running());
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
|
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
|
||||||
TEST(KeepAliveTest, ReadTimeoutSSL) {
|
TEST(KeepAliveTest, ReadTimeoutSSL) {
|
||||||
SSLServer svr(SERVER_CERT_FILE, SERVER_PRIVATE_KEY_FILE);
|
SSLServer svr(SERVER_CERT_FILE, SERVER_PRIVATE_KEY_FILE);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user