emissary/internal/agent/controller/app/options.go

38 lines
623 B
Go
Raw Permalink Normal View History

package app
import "net/http"
type Options struct {
DataDir string
DownloadDir string
Client *http.Client
}
func defaultOptions() *Options {
return &Options{
DataDir: "apps/data",
DownloadDir: "apps/download",
Client: &http.Client{},
}
}
type OptionFunc func(*Options)
func WithDataDir(dataDir string) OptionFunc {
return func(o *Options) {
o.DataDir = dataDir
}
}
func WithDownloadDir(downloadDir string) OptionFunc {
return func(o *Options) {
o.DownloadDir = downloadDir
}
}
func WithClient(client *http.Client) OptionFunc {
return func(o *Options) {
o.Client = client
}
}