diff --git a/pkg/command/server.go b/pkg/command/server.go index 4f1ec5566..4c0bf9d2e 100644 --- a/pkg/command/server.go +++ b/pkg/command/server.go @@ -137,6 +137,8 @@ func Server(cfg *config.Config) cli.Command { http.Context(ctx), http.Config(cfg), http.Metrics(metrics), + http.Flags(flagset.RootWithConfig(cfg)), + http.Flags(flagset.ServerWithConfig(cfg)), ) if err != nil { diff --git a/pkg/server/http/option.go b/pkg/server/http/option.go index 198437992..a56fef4d5 100644 --- a/pkg/server/http/option.go +++ b/pkg/server/http/option.go @@ -3,6 +3,7 @@ package http import ( "context" + "github.com/micro/cli" "github.com/owncloud/ocis-pkg/log" "github.com/owncloud/ocis-webdav/pkg/config" "github.com/owncloud/ocis-webdav/pkg/metrics" @@ -17,6 +18,7 @@ type Options struct { Context context.Context Config *config.Config Metrics *metrics.Metrics + Flags []cli.Flag } // newOptions initializes the available default options. @@ -57,3 +59,10 @@ func Metrics(val *metrics.Metrics) Option { o.Metrics = val } } + +// Flags provides a function to set the flags option. +func Flags(val []cli.Flag) Option { + return func(o *Options) { + o.Flags = append(o.Flags, val...) + } +} diff --git a/pkg/server/http/server.go b/pkg/server/http/server.go index 88c0527c8..93d3c1038 100644 --- a/pkg/server/http/server.go +++ b/pkg/server/http/server.go @@ -3,9 +3,7 @@ package http import ( "github.com/owncloud/ocis-pkg/middleware" "github.com/owncloud/ocis-pkg/service/http" - "github.com/owncloud/ocis-webdav/pkg/config" - "github.com/owncloud/ocis-webdav/pkg/flagset" - "github.com/owncloud/ocis-webdav/pkg/service/v0" + svc "github.com/owncloud/ocis-webdav/pkg/service/v0" "github.com/owncloud/ocis-webdav/pkg/version" ) @@ -20,8 +18,7 @@ func Server(opts ...Option) (http.Service, error) { http.Version(version.String), http.Address(options.Config.HTTP.Addr), http.Context(options.Context), - http.Flags(flagset.RootWithConfig(config.New())...), - http.Flags(flagset.ServerWithConfig(config.New())...), + http.Flags(options.Flags...), ) handle := svc.NewService(