|
|
@@ -1416,6 +1416,35 @@ TEST(InvalidFormatTest, StatusCode) {
|
|
|
ASSERT_FALSE(svr.is_running());
|
|
|
}
|
|
|
|
|
|
+TEST(URLFragmentTest, WithFragment) {
|
|
|
+ Server svr;
|
|
|
+
|
|
|
+ svr.Get("/hi",
|
|
|
+ [](const Request &req, Response &/*res*/) {
|
|
|
+ EXPECT_TRUE(req.target == "/hi");
|
|
|
+ });
|
|
|
+
|
|
|
+ auto thread = std::thread([&]() { svr.listen(HOST, PORT); });
|
|
|
+
|
|
|
+ std::this_thread::sleep_for(std::chrono::seconds(1));
|
|
|
+
|
|
|
+ {
|
|
|
+ Client cli(HOST, PORT);
|
|
|
+
|
|
|
+ auto res = cli.Get("/hi#key1=val1=key2=val2");
|
|
|
+ EXPECT_TRUE(res);
|
|
|
+ EXPECT_EQ(200, res->status);
|
|
|
+
|
|
|
+ res = cli.Get("/hi%23key1=val1=key2=val2");
|
|
|
+ EXPECT_TRUE(res);
|
|
|
+ EXPECT_EQ(404, res->status);
|
|
|
+ }
|
|
|
+
|
|
|
+ svr.stop();
|
|
|
+ thread.join();
|
|
|
+ ASSERT_FALSE(svr.is_running());
|
|
|
+}
|
|
|
+
|
|
|
class ServerTest : public ::testing::Test {
|
|
|
protected:
|
|
|
ServerTest()
|
|
|
@@ -4791,7 +4820,6 @@ TEST(HttpToHttpsRedirectTest, CertFile) {
|
|
|
t.join();
|
|
|
t2.join();
|
|
|
}
|
|
|
-#endif
|
|
|
|
|
|
TEST(MultipartFormDataTest, LargeData) {
|
|
|
SSLServer svr(SERVER_CERT_FILE, SERVER_PRIVATE_KEY_FILE);
|
|
|
@@ -4855,3 +4883,5 @@ TEST(MultipartFormDataTest, LargeData) {
|
|
|
svr.stop();
|
|
|
t.join();
|
|
|
}
|
|
|
+#endif
|
|
|
+
|