summaryrefslogtreecommitdiff
path: root/test/HttpHeaderProcessorTest.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-01-25 09:58:40 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2009-01-25 09:58:40 +0000
commit0742e3921f185613f98c2b31cd03182d8aa1d6f5 (patch)
treed658bfc69cb3cec3cf4cab9fb4ee89062bed9e24 /test/HttpHeaderProcessorTest.cc
parent9505df51efaf83dd90818cb1c29487f286632f14 (diff)
2009-01-25 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added experimental built-in HTTP server. Currently, when a client accesses to the server, it responds with the current download progress. By default, it is disabled. To enable the server, give --enable-http-server option. To change the default port number for the server to listen to, use --http-server-listen-port option. The response HTML is very simple and refreshes it self each 1 second. Because of this refresh, you see flicker in normal web browser such as Firefox. I recommend to use console-based browser such as elinks, w3m. To connect to the server, run 'elinks http://localhost:6800/' while running aria2. Please replace port number '6800'(which is default) with your preference. * src/DownloadEngineFactory.cc * src/HttpHeader.cc * src/HttpHeader.h * src/HttpHeaderProcessor.cc * src/HttpHeaderProcessor.h * src/HttpListenCommand.cc * src/HttpListenCommand.h * src/HttpServer.cc * src/HttpServer.h * src/HttpServerCommand.cc * src/HttpServerCommand.h * src/HttpServerResponseCommand.cc * src/HttpServerResponseCommand.h * src/Makefile.am * src/OptionHandlerFactory.cc * src/Util.cc * src/Util.h * src/help_tags.h * src/option_processing.cc * src/prefs.cc * src/prefs.h * src/usage_text.h * test/HttpHeaderProcessorTest.cc * test/UtilTest.cc
Diffstat (limited to 'test/HttpHeaderProcessorTest.cc')
-rw-r--r--test/HttpHeaderProcessorTest.cc19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/HttpHeaderProcessorTest.cc b/test/HttpHeaderProcessorTest.cc
index 91759ee4..3bd06dda 100644
--- a/test/HttpHeaderProcessorTest.cc
+++ b/test/HttpHeaderProcessorTest.cc
@@ -20,6 +20,7 @@ class HttpHeaderProcessorTest:public CppUnit::TestFixture {
CPPUNIT_TEST(testGetHttpResponseHeader_insufficientStatusLength);
CPPUNIT_TEST(testBeyondLimit);
CPPUNIT_TEST(testGetHeaderString);
+ CPPUNIT_TEST(testGetHttpRequestHeader);
CPPUNIT_TEST_SUITE_END();
public:
@@ -201,4 +202,22 @@ void HttpHeaderProcessorTest::testGetHeaderString()
proc.getHeaderString());
}
+void HttpHeaderProcessorTest::testGetHttpRequestHeader()
+{
+ HttpHeaderProcessor proc;
+ std::string request = "GET /index.html HTTP/1.1\r\n"
+ "Host: host\r\n"
+ "Connection: close\r\n"
+ "\r\n";
+
+ proc.update(request);
+
+ SharedHandle<HttpHeader> httpHeader = proc.getHttpRequestHeader();
+ CPPUNIT_ASSERT(!httpHeader.isNull());
+ CPPUNIT_ASSERT_EQUAL(std::string("GET"), httpHeader->getMethod());
+ CPPUNIT_ASSERT_EQUAL(std::string("/index.html"),httpHeader->getRequestPath());
+ CPPUNIT_ASSERT_EQUAL(std::string("HTTP/1.1"), httpHeader->getVersion());
+ CPPUNIT_ASSERT_EQUAL(std::string("close"),httpHeader->getFirst("Connection"));
+}
+
} // namespace aria2