diff --git a/httplib.h b/httplib.h index 05544a7..ea42f14 100644 --- a/httplib.h +++ b/httplib.h @@ -3920,7 +3920,8 @@ inline bool redirect(T &cli, Request &req, Response &res, if (ret) { req = new_req; res = new_res; - res.location = location; + + if (res.location.empty()) res.location = location; } return ret; } diff --git a/test/test.cc b/test/test.cc index 43d3f41..c182bb1 100644 --- a/test/test.cc +++ b/test/test.cc @@ -972,7 +972,7 @@ TEST(YahooRedirectTest, Redirect_Online) { res = cli.Get("/"); ASSERT_TRUE(res); EXPECT_EQ(200, res->status); - EXPECT_EQ("https://yahoo.com/", res->location); + EXPECT_EQ("https://www.yahoo.com/", res->location); } TEST(HttpsToHttpRedirectTest, Redirect_Online) { @@ -5301,7 +5301,7 @@ TEST(YahooRedirectTest2, SimpleInterface_Online) { res = cli.Get("/"); ASSERT_TRUE(res); EXPECT_EQ(200, res->status); - EXPECT_EQ("https://yahoo.com/", res->location); + EXPECT_EQ("https://www.yahoo.com/", res->location); } TEST(YahooRedirectTest3, SimpleInterface_Online) {