diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-29 23:19:10 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-01-29 23:19:10 +0900 |
| commit | 1b9329c67c3fdacba048b529a6ad4245b8cefb0c (patch) | |
| tree | e5773f88fe11b53a79684eb83354d72bb1cd1f84 /src/HttpRequest.cc | |
| parent | 7a6ec762ef44376d209ab20275dd78d468d7af3e (diff) | |
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.
Diffstat (limited to 'src/HttpRequest.cc')
| -rw-r--r-- | src/HttpRequest.cc | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc index 6f9b155f..2c0839cd 100644 --- a/src/HttpRequest.cc +++ b/src/HttpRequest.cc @@ -322,6 +322,11 @@ void HttpRequest::addHeader(const std::string& headersString) headers_.insert(headers_.end(), headers.begin(), headers.end()); } +void HttpRequest::clearHeader() +{ + headers_.clear(); +} + void HttpRequest::addAcceptType(const std::string& type) { acceptTypes_.push_back(type); @@ -431,4 +436,20 @@ void HttpRequest::setIfModifiedSinceHeader(const std::string& hd) ifModSinceHeader_ = hd; } +bool HttpRequest::conditionalRequest() const +{ + if(!ifModSinceHeader_.empty()) { + return true; + } + for(std::vector<std::string>::const_iterator i = headers_.begin(), + eoi = headers_.end(); i != eoi; ++i) { + std::string hd = util::toLower(*i); + if(util::startsWith(hd, "if-modified-since") || + util::startsWith(hd, "if-none-match")) { + return true; + } + } + return false; +} + } // namespace aria2 |
