Commit graph

104 commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa
c7a13f934c Log directed URI in notice log level 2017-04-09 19:37:39 +09:00
JimmyZ
da730478af new option content-disposition-default-utf8 2016-12-31 14:11:12 +09:00
Tatsuhiro Tsujikawa
b1132d6b10 make clang-format using clang-format-3.6 2015-12-27 18:40:08 +09:00
Tatsuhiro Tsujikawa
b0f440e631 Rewrite Time with chrono 2015-06-09 03:15:10 +09:00
Tatsuhiro Tsujikawa
adeead6f03 Revert to existing "proper" coding style
The rule is simple: don't try to change the coding style of the
existing codebase.
2014-06-03 23:41:30 +09:00
Tatsuhiro Tsujikawa
f60e55cece Use index.html as filename for conditional-get when file is missing in URI
Previously we disabled conditional-get if file part is missing in URI.
But we use constant string "index.html" in this case, so we can do the
same to determine the modification time.  In this patch, if we have
file part in URI, we are not going to set absolute file path in
FileEntry, since it prevents content-disposition from working.
2014-05-08 21:49:04 +09:00
Nils Maier
010131161e Remove ENABLE_MESSAGE_DIGEST, since we got the internal md, always 2014-04-17 18:02:42 +02:00
Tatsuhiro Tsujikawa
b18e62dba7 Treat 30X response without Location header field as error
This is required to make segmented download work.
2014-02-05 21:20:09 +09:00
Tatsuhiro Tsujikawa
ec4b729704 Better handling of 30X HTTP status codes
Reference: http://greenbytes.de/tech/tc/httpredirects/
2014-02-05 00:32:43 +09:00
Tatsuhiro Tsujikawa
2aa8e01836 Fix typo 2013-11-06 23:40:59 +09:00
Nils Maier
e2700f50a5 Code cleanup in Http* 2013-09-20 23:06:49 +02:00
Nils Maier
8526ceeb45 Convert to autos and ranged loops 2013-08-21 05:56:17 +02:00
Tatsuhiro Tsujikawa
107de58997 Return nullptr directly where std::unique_ptr is expected
The constructor of std::unique_ptr which takes nullptr is not explicit
so we can return nullptr directly.
2013-07-04 21:33:36 +09:00
Tatsuhiro Tsujikawa
57f1902ee1 Use std::unique_ptr for StreamFilter instead of std::shared_ptr 2013-07-04 00:39:11 +09:00
Tatsuhiro Tsujikawa
cb205a207c Use std::unique_ptr for HttpRequest instead of std::shared_ptr 2013-07-04 00:13:15 +09:00
Tatsuhiro Tsujikawa
47402c5f29 Refactor HttpConnection and its neighbor objects 2013-06-26 23:19:15 +09:00
Tatsuhiro Tsujikawa
07d270c87e Require -std=c++11 and use std::shared_ptr instead of SharedHandle 2013-06-22 01:10:38 +09:00
Tatsuhiro Tsujikawa
e34d0e7ffa Dont' return SharedHandle from HttpHeader::getRange() 2012-09-30 17:30:35 +09:00
Tatsuhiro Tsujikawa
3258614033 Removed *Handle typedef 2012-09-28 23:27:46 +09:00
Tatsuhiro Tsujikawa
8f2030da09 Removed HttpHeader::findAs{LL}Int and unused HttpResponse::{has,get}RetryAfter 2012-09-26 23:58:59 +09:00
Tatsuhiro Tsujikawa
54665ff409 Removed static std::string constant in HttpHeader
This change also removes inspection of Proxy-Connection header field
when checking whether the remote endpoint keeps connection open.
2012-09-23 21:46:01 +09:00
Tatsuhiro Tsujikawa
dd7014a612 Store only interesting HTTP headers in HttpHeader
In this change, we defined HTTP header fields we are interested in.
We only store those headers in HttpHeader object.  Accessing HTTP
headers in HttpHeader object is now done through enum values.
2012-09-23 20:59:34 +09:00
Tatsuhiro Tsujikawa
16d395779a Removed static_cast<int64>()s where they are unnecessary 2012-06-25 23:44:52 +09:00
Tatsuhiro Tsujikawa
1b874268a0 Use int64_t instead of off_t
Some classes such as DiskAdaptor, DiskWriter, FileAllocationIterator
and ChecksumValidator are left unchanged.
2012-06-25 23:35:24 +09:00
Tatsuhiro Tsujikawa
4b03634f36 Use PRId64 for int64_t format specifier 2012-06-25 22:43:33 +09:00
Tatsuhiro Tsujikawa
12988e5282 Replaced uint64_t with off_t or int64_t.
Since off_t is int64_t with LFS, we cannot take advantage of extra
capacity of uint64_t.
2011-12-09 21:39:43 +09:00
Tatsuhiro Tsujikawa
1687741303 Use fmt instead of util::itos 2011-11-13 20:55:06 +09:00
Tatsuhiro Tsujikawa
2f4393d17c Rewritten parse*Int 2011-11-12 01:06:52 +09:00
Tatsuhiro Tsujikawa
d17ea2837b HttpHeader::fill() now stores header name in lowercase.
Find methods in HttpHeader won't lowercase argument, so use lowercase
letters to get HTTP header field.
2011-11-11 22:50:18 +09:00
Tatsuhiro Tsujikawa
d45d854926 Rewritten base64::decode and base64::encode 2011-11-05 23:30:46 +09:00
Tatsuhiro Tsujikawa
17a1b51a76 mv Base64.{cc,h} base64.{cc,h} 2011-11-05 21:13:49 +09:00
Tatsuhiro Tsujikawa
f84d2253b2 Rewritten util::split and added its iterator version.
Iterator based functions util::startsWith, util::endsWith,
util::streq, util::strieq were added.
2011-11-04 22:27:58 +09:00
Tatsuhiro Tsujikawa
6267676e8b util::divide now takes iterators as arguments. 2011-11-03 23:09:03 +09:00
Tatsuhiro Tsujikawa
118626afc4 util::percentDecode now takes iterators as arguments. 2011-11-03 19:27:29 +09:00
Tatsuhiro Tsujikawa
9bb914b76e Changed parse*Int functions so that it accepts iterators. 2011-11-03 18:51:31 +09:00
Tatsuhiro Tsujikawa
6ef91d60b3 Rewritten util::stripIter(), which now returns pair of iterator. 2011-11-03 16:19:21 +09:00
Tatsuhiro Tsujikawa
310e58bc62 Stored hash value as raw byte string, instead of hex digest. 2011-10-13 21:40:07 +09:00
Tatsuhiro Tsujikawa
8ec6cd1c44 Removed redundant MessageDigest::supports() call.
MessageDigest::supports() will be called from
MessageDigest::isValidHash() later in the function.
2011-08-23 17:23:46 +09:00
Tatsuhiro Tsujikawa
7368c9c9d8 Percent-encode non-printable ASCII and non-ASCII chars in FileEntry.
Percent-encode non-printable ASCII and non-ASCII chars in URI using
util::percentEncodeMini() when URI is added to FileEntry.  Removed
percent-encode from Request. Also do percent-encoding when setting
referer and redirected URI.
2011-08-07 20:46:04 +09:00
Tatsuhiro Tsujikawa
e9d16306df Made getRedirectURI and getTransferEncoding return const reference.
Made getRedirectURI and getTransferEncoding in HttpResponse return
const reference.
2011-08-07 18:45:29 +09:00
Tatsuhiro Tsujikawa
7b86b294c9 Consistent naming scheme for hash type and digest. 2011-07-27 21:44:54 +09:00
Tatsuhiro Tsujikawa
ce101f5ad2 Use HttpHeader::getIterator() instead of HttpHeader::get() 2011-07-27 21:15:54 +09:00
Tatsuhiro Tsujikawa
67e91c3431 HttpResponse::getDigest() now returns all Digest.
In addition, HttpResponse::getMetalinkHttpEntries() does not check
validity of URI. It is checked when we add it to FileEntry.
2011-07-27 19:32:35 +09:00
Tatsuhiro Tsujikawa
7c317de4e7 Added Metalink/HTTP Link and Digest header field parser. 2011-07-26 23:41:21 +09:00
Tatsuhiro Tsujikawa
7230fbd2f7 Replaced HAVE_LIBZ with HAVE_ZLIB 2011-02-18 22:34:38 +09:00
Tatsuhiro Tsujikawa
1b9329c67c Accept HTTP 304 reply as success when If-None-Match request-header
field is specified using --header option.

When --conditional-get is used, --allow-overwrite is now required to
overwrite existing file.
2011-01-29 23:19:10 +09:00
Tatsuhiro Tsujikawa
f0f4f8f703 Added more error code values.
I have not set error code for all exception invocation.
In this change, I set error code where error likely occurs.
2010-12-01 21:26:58 +09:00
Tatsuhiro Tsujikawa
947967fc63 Renamed DownloadErrorCode.h as error_code.h. Renamed
downloaderrorcode::Value as error_code::Value.
2010-11-28 16:52:02 +09:00
Tatsuhiro Tsujikawa
03417e94b4 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Use format specifier %lld for cuid_t. Defined cuid_t as long long
	int instead of int64_t, since g++ complains int64_t is not
	suitable for %lld.
2010-11-20 12:12:06 +00:00
Tatsuhiro Tsujikawa
694fb307aa 2010-11-20 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Replaced StringFormat with fmt
2010-11-20 09:36:14 +00:00