From 2a81fd466d304d71dad16db93224db78525e08ce Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 25 Apr 2008 17:44:03 +0000 Subject: 2008-04-26 Tatsuhiro Tsujikawa Added build-in "Accept-Feature" support. For now only "metalink" is used in this header field. This "metalink" value is removed from the list when connecting URLs fed by metalink file to avoid loop in "transparent" metlaink. * src/HttpRequest.cc * src/HttpRequest.h: Renamed _userHeaders as _headers. Accept-Feature header is also held in this variable. Also renamed setUserHeaders as addHeader and it was rewritten to add header not just to clear the old value. * src/HttpRequestCommand.cc * src/Metalink2RequestGroup.cc: Added the code to remove "metalink" from "Accept-Feature" list. * src/RequestGroup.cc: Added "metalink" to "Accept-Feature" by default. * src/RequestGroup.h * src/TaggedItem.cc: Moved Concat class to a2functional.h. * src/a2functional.h: Included because Concat class depends on it. * test/HttpRequestTest.cc --- test/HttpRequestTest.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'test/HttpRequestTest.cc') diff --git a/test/HttpRequestTest.cc b/test/HttpRequestTest.cc index d514f3d4..7400d097 100644 --- a/test/HttpRequestTest.cc +++ b/test/HttpRequestTest.cc @@ -22,7 +22,7 @@ class HttpRequestTest : public CppUnit::TestFixture { CPPUNIT_TEST(testCreateProxyRequest); CPPUNIT_TEST(testIsRangeSatisfied); CPPUNIT_TEST(testUserAgent); - CPPUNIT_TEST(testUserHeaders); + CPPUNIT_TEST(testAddHeader); CPPUNIT_TEST_SUITE_END(); private: @@ -37,7 +37,7 @@ public: void testCreateProxyRequest(); void testIsRangeSatisfied(); void testUserAgent(); - void testUserHeaders(); + void testAddHeader(); }; @@ -596,14 +596,14 @@ void HttpRequestTest::testUserAgent() CPPUNIT_ASSERT_EQUAL(expectedTextForProxy, httpRequest.createProxyRequest()); } -void HttpRequestTest::testUserHeaders() +void HttpRequestTest::testAddHeader() { SharedHandle request(new Request()); request->setUrl("http://localhost/archives/aria2-1.0.0.tar.bz2"); HttpRequest httpRequest; httpRequest.setRequest(request); - httpRequest.setUserHeaders("X-ARIA2: v0.13\nX-ARIA2-DISTRIBUTE: enabled\n"); + httpRequest.addHeader("X-ARIA2: v0.13\nX-ARIA2-DISTRIBUTE: enabled\n"); std::string expectedText = "GET /archives/aria2-1.0.0.tar.bz2 HTTP/1.1\r\n" "User-Agent: aria2\r\n" -- cgit