fixed http_connection redirection support and added test (still requires lighttp)

This commit is contained in:
Arvid Norberg
2008-01-12 01:41:56 +00:00
parent 388949014f
commit 81302c8fed
4 changed files with 46 additions and 39 deletions

View File

@@ -71,11 +71,13 @@ void start_web_server(int port)
{
stop_web_server(port);
std::ofstream f("./lighty_config");
f << "server.modules = (\"mod_access\")\n"
f << "server.modules = (\"mod_access\", \"mod_redirect\")\n"
"server.document-root = \"" << boost::filesystem::initial_path().string() << "\"\n"
"server.range-requests = \"enable\"\n"
"server.port = " << port << "\n"
"server.pid-file = \"./lighty" << port << ".pid\"\n";
"server.pid-file = \"./lighty" << port << ".pid\"\n"
"url.redirect = (\"^/redirect$\" => \"http://127.0.0.1:" << port << "/test_file\", "
"\"^/infinite_redirect$\" => \"http://127.0.0.1:" << port << "/infinite_redirect\")";
f.close();
system("lighttpd -f lighty_config &");

View File

@@ -97,6 +97,8 @@ int test_main()
std::srand(std::time(0));
std::generate(data_buffer, data_buffer + sizeof(data_buffer), &std::rand);
std::ofstream("test_file").write(data_buffer, 3216);
run_test("http://127.0.0.1:8001/redirect", 3216, 200, 2, asio::error_code());
run_test("http://127.0.0.1:8001/infinite_redirect", 0, 301, 6, asio::error_code());
run_test("http://127.0.0.1:8001/test_file", 3216, 200, 1, asio::error_code());
run_test("http://127.0.0.1:8001/non-existing-file", -1, 404, 1, err());
run_test("http://non-existent-domain.se/non-existing-file", -1, -1, 0, err(asio::error::host_not_found));