| package cliproxy | |
| import ( | |
| "context" | |
| "github.com/router-for-me/CLIProxyAPI/v6/internal/watcher" | |
| coreauth "github.com/router-for-me/CLIProxyAPI/v6/sdk/cliproxy/auth" | |
| "github.com/router-for-me/CLIProxyAPI/v6/sdk/config" | |
| ) | |
| func defaultWatcherFactory(configPath, authDir string, reload func(*config.Config)) (*WatcherWrapper, error) { | |
| w, err := watcher.NewWatcher(configPath, authDir, reload) | |
| if err != nil { | |
| return nil, err | |
| } | |
| return &WatcherWrapper{ | |
| start: func(ctx context.Context) error { | |
| return w.Start(ctx) | |
| }, | |
| stop: func() error { | |
| return w.Stop() | |
| }, | |
| setConfig: func(cfg *config.Config) { | |
| w.SetConfig(cfg) | |
| }, | |
| snapshotAuths: func() []*coreauth.Auth { return w.SnapshotCoreAuths() }, | |
| setUpdateQueue: func(queue chan<- watcher.AuthUpdate) { | |
| w.SetAuthUpdateQueue(queue) | |
| }, | |
| dispatchRuntimeUpdate: func(update watcher.AuthUpdate) bool { | |
| return w.DispatchRuntimeAuthUpdate(update) | |
| }, | |
| }, nil | |
| } | |