summaryrefslogtreecommitdiff
path: root/src/OptionHandlerImpl.h
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-20 06:30:44 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-04-20 06:30:44 +0000
commit3eb74629cbd0f01113bc581d486a8ec95633b4ad (patch)
tree53028931fb30d824e2226e6cfef6c51c9863c120 /src/OptionHandlerImpl.h
parentc1c5e7369f77a1125b12ac58b8b30378858d9317 (diff)
2008-04-20 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added --header option. You can specify any number of additional HTTP headers like: aria2 --header="X-A: 300" --header="X-B: 900" http://host/file Unlike other commad-line option, you can use --header option multiple times. * src/HelpItemFactory.cc * src/HttpRequest.{cc, h} * src/HttpRequestCommand.cc * src/OptionHandlerFactory.cc * src/OptionHandlerImpl.h * src/option_processing.cc * src/prefs.h * src/usage_text.h * test/HttpRequestTest.cc (testUserHeaders)
Diffstat (limited to 'src/OptionHandlerImpl.h')
-rw-r--r--src/OptionHandlerImpl.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/OptionHandlerImpl.h b/src/OptionHandlerImpl.h
index 5925e3b4..1d6e81a9 100644
--- a/src/OptionHandlerImpl.h
+++ b/src/OptionHandlerImpl.h
@@ -192,6 +192,25 @@ public:
}
};
+class CumulativeOptionHandler : public NameMatchOptionHandler {
+private:
+ std::string _delim;
+public:
+ CumulativeOptionHandler(const std::string& optName,
+ const std::string& delim):
+ NameMatchOptionHandler(optName),
+ _delim(delim) {}
+
+ virtual ~CumulativeOptionHandler() {}
+
+ virtual void parseArg(Option* option, const std::string& optarg)
+ {
+ std::string value = option->get(_optName);
+ value += optarg+_delim;
+ option->put(_optName, value);
+ }
+};
+
class ParameterOptionHandler : public NameMatchOptionHandler {
private:
std::deque<std::string> _validParamValues;