mirror of
https://github.com/rclone/rclone.git
synced 2025-06-21 12:33:52 +02:00
serve restic: convert options to new style
This commit is contained in:
parent
b930c4b437
commit
b1456835d8
@ -30,37 +30,48 @@ import (
|
|||||||
"golang.org/x/net/http2"
|
"golang.org/x/net/http2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// OptionsInfo describes the Options in use
|
||||||
|
var OptionsInfo = fs.Options{{
|
||||||
|
Name: "stdio",
|
||||||
|
Default: false,
|
||||||
|
Help: "Run an HTTP2 server on stdin/stdout",
|
||||||
|
}, {
|
||||||
|
Name: "append_only",
|
||||||
|
Default: false,
|
||||||
|
Help: "Disallow deletion of repository data",
|
||||||
|
}, {
|
||||||
|
Name: "private_repos",
|
||||||
|
Default: false,
|
||||||
|
Help: "Users can only access their private repo",
|
||||||
|
}, {
|
||||||
|
Name: "cache_objects",
|
||||||
|
Default: true,
|
||||||
|
Help: "Cache listed objects",
|
||||||
|
}}.
|
||||||
|
Add(libhttp.ConfigInfo).
|
||||||
|
Add(libhttp.AuthConfigInfo)
|
||||||
|
|
||||||
// Options required for http server
|
// Options required for http server
|
||||||
type Options struct {
|
type Options struct {
|
||||||
Auth libhttp.AuthConfig
|
Auth libhttp.AuthConfig
|
||||||
HTTP libhttp.Config
|
HTTP libhttp.Config
|
||||||
Stdio bool
|
Stdio bool `config:"stdio"`
|
||||||
AppendOnly bool
|
AppendOnly bool `config:"append_only"`
|
||||||
PrivateRepos bool
|
PrivateRepos bool `config:"private_repos"`
|
||||||
CacheObjects bool
|
CacheObjects bool `config:"cache_objects"`
|
||||||
}
|
|
||||||
|
|
||||||
// DefaultOpt is the default values used for Options
|
|
||||||
var DefaultOpt = Options{
|
|
||||||
Auth: libhttp.DefaultAuthCfg(),
|
|
||||||
HTTP: libhttp.DefaultCfg(),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Opt is options set by command line flags
|
// Opt is options set by command line flags
|
||||||
var Opt = DefaultOpt
|
var Opt Options
|
||||||
|
|
||||||
// flagPrefix is the prefix used to uniquely identify command line flags.
|
// flagPrefix is the prefix used to uniquely identify command line flags.
|
||||||
// It is intentionally empty for this package.
|
// It is intentionally empty for this package.
|
||||||
const flagPrefix = ""
|
const flagPrefix = ""
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
fs.RegisterGlobalOptions(fs.OptionsInfo{Name: "restic", Opt: &Opt, Options: OptionsInfo})
|
||||||
flagSet := Command.Flags()
|
flagSet := Command.Flags()
|
||||||
libhttp.AddAuthFlagsPrefix(flagSet, flagPrefix, &Opt.Auth)
|
flags.AddFlagsFromOptions(flagSet, "", OptionsInfo)
|
||||||
libhttp.AddHTTPFlagsPrefix(flagSet, flagPrefix, &Opt.HTTP)
|
|
||||||
flags.BoolVarP(flagSet, &Opt.Stdio, "stdio", "", false, "Run an HTTP2 server on stdin/stdout", "")
|
|
||||||
flags.BoolVarP(flagSet, &Opt.AppendOnly, "append-only", "", false, "Disallow deletion of repository data", "")
|
|
||||||
flags.BoolVarP(flagSet, &Opt.PrivateRepos, "private-repos", "", false, "Users can only access their private repo", "")
|
|
||||||
flags.BoolVarP(flagSet, &Opt.CacheObjects, "cache-objects", "", true, "Cache listed objects", "")
|
|
||||||
cmdserve.Command.AddCommand(Command)
|
cmdserve.Command.AddCommand(Command)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func newOpt() Options {
|
func newOpt() Options {
|
||||||
opt := DefaultOpt
|
opt := Opt
|
||||||
opt.HTTP.ListenAddr = []string{testBindAddress}
|
opt.HTTP.ListenAddr = []string{testBindAddress}
|
||||||
return opt
|
return opt
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user