From cebd5880926811de35d865dd553d548833fcd8ff Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Fri, 28 Mar 2025 14:47:09 +0000 Subject: [PATCH] serve http: convert options to new style --- cmd/serve/http/http.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/cmd/serve/http/http.go b/cmd/serve/http/http.go index 4d8fbda83..e68c5951f 100644 --- a/cmd/serve/http/http.go +++ b/cmd/serve/http/http.go @@ -20,6 +20,8 @@ import ( "github.com/rclone/rclone/cmd/serve/proxy/proxyflags" "github.com/rclone/rclone/fs" "github.com/rclone/rclone/fs/accounting" + "github.com/rclone/rclone/fs/config/configstruct" + "github.com/rclone/rclone/fs/config/flags" libhttp "github.com/rclone/rclone/lib/http" "github.com/rclone/rclone/lib/http/serve" "github.com/rclone/rclone/lib/systemd" @@ -29,6 +31,12 @@ import ( "github.com/spf13/cobra" ) +// OptionsInfo describes the Options in use +var OptionsInfo = fs.Options{}. + Add(libhttp.ConfigInfo). + Add(libhttp.AuthConfigInfo). + Add(libhttp.TemplateConfigInfo) + // Options required for http server type Options struct { Auth libhttp.AuthConfig @@ -46,15 +54,17 @@ var DefaultOpt = Options{ // Opt is options set by command line flags var Opt = DefaultOpt +func init() { + fs.RegisterGlobalOptions(fs.OptionsInfo{Name: "http", Opt: &Opt, Options: OptionsInfo}) +} + // flagPrefix is the prefix used to uniquely identify command line flags. // It is intentionally empty for this package. const flagPrefix = "" func init() { flagSet := Command.Flags() - libhttp.AddAuthFlagsPrefix(flagSet, flagPrefix, &Opt.Auth) - libhttp.AddHTTPFlagsPrefix(flagSet, flagPrefix, &Opt.HTTP) - libhttp.AddTemplateFlagsPrefix(flagSet, flagPrefix, &Opt.Template) + flags.AddFlagsFromOptions(flagSet, "", OptionsInfo) vfsflags.AddFlags(flagSet) proxyflags.AddFlags(flagSet) cmdserve.Command.AddCommand(Command)