diff --git a/commands/request.go b/commands/request.go index d13a06673df1cdfccfbb7f48d5cdec18a90c977f..0b6f87f95ee8b17897a28ec2c9ec37ba31e9be97 100644 --- a/commands/request.go +++ b/commands/request.go @@ -61,6 +61,7 @@ type Request interface { Option(name string) *OptionValue Options() optMap SetOption(name string, val interface{}) + SetOptions(opts map[string]interface{}) error Arguments() []string SetArguments([]string) Files() File @@ -144,6 +145,12 @@ func (r *request) SetOption(name string, val interface{}) { r.options[name] = val } +// SetOptions sets the option values, unsetting any values that were previously set +func (r *request) SetOptions(opts map[string]interface{}) error { + r.options = opts + return r.ConvertOptions() +} + // Arguments returns the arguments slice func (r *request) Arguments() []string { return r.arguments