diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-05 08:25:41 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-05-05 08:25:41 +0000 |
| commit | f596de9eec5ea01a28b7ee5d632164d8b41221ec (patch) | |
| tree | 103c6866eea996f9ab9b31cf3b804eaeb9cf849b /src/HttpRequestCommand.cc | |
| parent | b892b54e4b5847ca848a4fda555d4f79d86404e2 (diff) | |
2008-05-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Reimplemented transparent metalink using Accept request header.
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpRequestCommand.cc
* src/Metalink2RequestGroup.cc
* src/RequestGroup.cc
* src/RequestGroup.h
* test/HttpRequestTest.cc
Diffstat (limited to 'src/HttpRequestCommand.cc')
| -rw-r--r-- | src/HttpRequestCommand.cc | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/HttpRequestCommand.cc b/src/HttpRequestCommand.cc index e552007c..803f876c 100644 --- a/src/HttpRequestCommand.cc +++ b/src/HttpRequestCommand.cc @@ -71,7 +71,7 @@ createHttpRequest(const SharedHandle<Request>& req, const SharedHandle<Segment>& segment, uint64_t totalLength, const Option* option, - const std::deque<std::string>& acceptFeatures) + const RequestGroup* rg) { HttpRequestHandle httpRequest(new HttpRequest()); httpRequest->setUserAgent(option->get(PREF_USER_AGENT)); @@ -79,7 +79,8 @@ createHttpRequest(const SharedHandle<Request>& req, httpRequest->setSegment(segment); httpRequest->setEntityLength(totalLength); httpRequest->addHeader(option->get(PREF_HEADER)); - if(acceptFeatures.size()) { + if(rg->getAcceptFeatures().size()) { + const std::deque<std::string>& acceptFeatures = rg->getAcceptFeatures(); std::string acceptFeaturesHeader = "Accept-Features: "+ Util::trim (std::accumulate(acceptFeatures.begin()+1, acceptFeatures.end(), @@ -88,6 +89,8 @@ createHttpRequest(const SharedHandle<Request>& req, ","); httpRequest->addHeader(acceptFeaturesHeader); } + httpRequest->addAcceptType(rg->getAcceptTypes().begin(), + rg->getAcceptTypes().end()); httpRequest->configure(option); return httpRequest; @@ -103,7 +106,7 @@ bool HttpRequestCommand::executeInternal() { HttpRequestHandle httpRequest (createHttpRequest(req, SharedHandle<Segment>(), _requestGroup->getTotalLength(), e->option, - _requestGroup->getAcceptFeatures())); + _requestGroup)); _httpConnection->sendRequest(httpRequest); } else { for(Segments::iterator itr = _segments.begin(); itr != _segments.end(); ++itr) { @@ -112,7 +115,7 @@ bool HttpRequestCommand::executeInternal() { HttpRequestHandle httpRequest (createHttpRequest(req, segment, _requestGroup->getTotalLength(), e->option, - _requestGroup->getAcceptFeatures())); + _requestGroup)); _httpConnection->sendRequest(httpRequest); } } |
