summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2022-04-03 18:59:24 +0900
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2022-04-03 18:59:24 +0900
commit85733e59809a04218ebbfbf4ed9e99a8208e2597 (patch)
tree0c45690d8b6228b24fa301395b9995347ffb6844
parentc651d563d079f54c47ab8dd87061f662881a2e19 (diff)
parent839dd2caf77863503d18252a1aff16cd1dde274c (diff)
Merge branch 'Frefreak-master'
-rw-r--r--doc/manual-src/en/aria2c.rst4
-rw-r--r--src/HttpRequestCommand.cc2
-rw-r--r--src/OptionHandlerFactory.cc10
-rw-r--r--src/prefs.cc2
-rw-r--r--src/prefs.h2
-rw-r--r--src/usage_text.h3
6 files changed, 23 insertions, 0 deletions
diff --git a/doc/manual-src/en/aria2c.rst b/doc/manual-src/en/aria2c.rst
index 2c174e3f..ee132c35 100644
--- a/doc/manual-src/en/aria2c.rst
+++ b/doc/manual-src/en/aria2c.rst
@@ -557,6 +557,10 @@ HTTP Specific Options
Use HEAD method for the first request to the HTTP server.
Default: ``false``
+.. option:: --no-want-digest-header [true|false]
+
+ Whether to disable Want-Digest header when doing requests.
+ Default: ``false``
.. option:: -U, --user-agent=<USER_AGENT>
diff --git a/src/HttpRequestCommand.cc b/src/HttpRequestCommand.cc
index a2b8e7ef..3ef3887c 100644
--- a/src/HttpRequestCommand.cc
+++ b/src/HttpRequestCommand.cc
@@ -99,6 +99,8 @@ createHttpRequest(const std::shared_ptr<Request>& req,
httpRequest->setOption(option.get());
httpRequest->setProxyRequest(proxyRequest);
httpRequest->setAcceptMetalink(rg->getDownloadContext()->getAcceptMetalink());
+ httpRequest->setNoWantDigest(option->getAsBool(PREF_NO_WANT_DIGEST_HEADER));
+
if (option->getAsBool(PREF_HTTP_ACCEPT_GZIP)) {
httpRequest->enableAcceptGZip();
}
diff --git a/src/OptionHandlerFactory.cc b/src/OptionHandlerFactory.cc
index 6bff4caa..2cd2c43e 100644
--- a/src/OptionHandlerFactory.cc
+++ b/src/OptionHandlerFactory.cc
@@ -1206,6 +1206,16 @@ std::vector<OptionHandler*> OptionHandlerFactory::createOptionHandlers()
handlers.push_back(op);
}
{
+ OptionHandler* op(new BooleanOptionHandler(
+ PREF_NO_WANT_DIGEST_HEADER, TEXT_NO_WANT_DIGEST_HEADER, A2_V_FALSE,
+ OptionHandler::OPT_ARG));
+ op->addTag(TAG_HTTP);
+ op->setInitialOption(true);
+ op->setChangeGlobalOption(true);
+ op->setChangeOptionForReserved(true);
+ handlers.push_back(op);
+ }
+ {
OptionHandler* op(new DefaultOptionHandler(
PREF_USER_AGENT, TEXT_USER_AGENT, "aria2/" PACKAGE_VERSION, A2STR::NIL,
OptionHandler::REQ_ARG, 'U'));
diff --git a/src/prefs.cc b/src/prefs.cc
index fe982685..2591b9f0 100644
--- a/src/prefs.cc
+++ b/src/prefs.cc
@@ -429,6 +429,8 @@ PrefPtr PREF_HTTP_ACCEPT_GZIP = makePref("http-accept-gzip");
// value: true | false
PrefPtr PREF_CONTENT_DISPOSITION_DEFAULT_UTF8 =
makePref("content-disposition-default-utf8");
+// value: true | false
+PrefPtr PREF_NO_WANT_DIGEST_HEADER = makePref("no-want-digest-header");
/**
* Proxy related preferences
diff --git a/src/prefs.h b/src/prefs.h
index 9719b3be..338fd6e6 100644
--- a/src/prefs.h
+++ b/src/prefs.h
@@ -381,6 +381,8 @@ extern PrefPtr PREF_HTTP_NO_CACHE;
extern PrefPtr PREF_HTTP_ACCEPT_GZIP;
// value: true | false
extern PrefPtr PREF_CONTENT_DISPOSITION_DEFAULT_UTF8;
+// value: true | false
+extern PrefPtr PREF_NO_WANT_DIGEST_HEADER;
/**;
* Proxy related preferences
diff --git a/src/usage_text.h b/src/usage_text.h
index 7837a39e..0052b798 100644
--- a/src/usage_text.h
+++ b/src/usage_text.h
@@ -539,6 +539,9 @@
#define TEXT_USE_HEAD \
_(" --use-head[=true|false] Use HEAD method for the first request to the HTTP\n" \
" server.")
+#define TEXT_NO_WANT_DIGEST_HEADER \
+ _(" --no-want-digest-header[=true|false] Whether to disable Want-Digest header \n" \
+ " when doing requests.")
#define TEXT_CONTENT_DISPOSITION_DEFAULT_UTF8 \
_(" --content-disposition-default-utf8[=true|false] Handle quoted string in\n" \
" Content-Disposition header as UTF-8 instead of\n" \