summaryrefslogtreecommitdiff
path: root/src/CreateRequestCommand.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/CreateRequestCommand.cc')
-rw-r--r--src/CreateRequestCommand.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/CreateRequestCommand.cc b/src/CreateRequestCommand.cc
index a3ebdfbf..adfd625e 100644
--- a/src/CreateRequestCommand.cc
+++ b/src/CreateRequestCommand.cc
@@ -42,6 +42,8 @@
#include "DownloadEngine.h"
#include "SocketCore.h"
#include "SegmentMan.h"
+#include "prefs.h"
+#include "Option.h"
namespace aria2 {
@@ -65,7 +67,13 @@ bool CreateRequestCommand::executeInternal()
_fileEntry = _requestGroup->getDownloadContext()->findFileEntryByOffset
(_segments.front()->getPositionToWrite());
}
- req = _fileEntry->getRequest(_requestGroup->getURISelector());
+ req = _fileEntry->getRequest(_requestGroup->getURISelector(),
+ getOption()->get(PREF_REFERER),
+ // Don't use HEAD request when file
+ // size is known.
+ _fileEntry->getLength() == 0 &&
+ getOption()->getAsBool(PREF_USE_HEAD)?
+ Request::METHOD_HEAD:Request::METHOD_GET);
if(req.isNull()) {
if(!_requestGroup->getSegmentMan().isNull()) {
_requestGroup->getSegmentMan()->ignoreSegmentFor(_fileEntry);