diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-10-31 07:56:01 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-10-31 07:56:01 +0000 |
| commit | 35cc4ed1e786a14a1438ad4f13d37a4b968b6f25 (patch) | |
| tree | f819fb9d38d0f2b6348e3b1d980769512aa36c68 /test/HttpHeaderTest.cc | |
| parent | 2b458da480074f615c1a9d78cbe2e31dcebc94d7 (diff) | |
2010-10-31 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Return empty range if byte-range-resp-spec or instance-length is
"*" in Content-Range header to prevent aria2 from emitting error
failing to convert "*" to a integer.
* src/HttpHeader.cc
* test/HttpHeaderTest.cc
Diffstat (limited to 'test/HttpHeaderTest.cc')
| -rw-r--r-- | test/HttpHeaderTest.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/HttpHeaderTest.cc b/test/HttpHeaderTest.cc index e3ae3cc8..af01f7cc 100644 --- a/test/HttpHeaderTest.cc +++ b/test/HttpHeaderTest.cc @@ -45,6 +45,26 @@ void HttpHeaderTest::testGetRange() CPPUNIT_ASSERT_EQUAL((off_t)9223372036854775801LL, range->getEndByte()); CPPUNIT_ASSERT_EQUAL((uint64_t)9223372036854775807ULL, range->getEntityLength()); } + { + HttpHeader httpHeader; + httpHeader.put("Content-Range", "bytes */1024"); + + SharedHandle<Range> range = httpHeader.getRange(); + + CPPUNIT_ASSERT_EQUAL((off_t)0, range->getStartByte()); + CPPUNIT_ASSERT_EQUAL((off_t)0, range->getEndByte()); + CPPUNIT_ASSERT_EQUAL((uint64_t)0, range->getEntityLength()); + } + { + HttpHeader httpHeader; + httpHeader.put("Content-Range", "bytes 0-9/*"); + + SharedHandle<Range> range = httpHeader.getRange(); + + CPPUNIT_ASSERT_EQUAL((off_t)0, range->getStartByte()); + CPPUNIT_ASSERT_EQUAL((off_t)0, range->getEndByte()); + CPPUNIT_ASSERT_EQUAL((uint64_t)0, range->getEntityLength()); + } } void HttpHeaderTest::testGet() |
