Moonshark/core/watchers/routerwatchers.go
2025-03-07 07:43:04 -06:00

45 lines
1.1 KiB
Go

package watchers
import (
"git.sharkk.net/Sky/Moonshark/core/logger"
"git.sharkk.net/Sky/Moonshark/core/routers"
)
// WatchLuaRouter sets up a watcher for a LuaRouter's routes directory
func WatchLuaRouter(router *routers.LuaRouter, routesDir string, log *logger.Logger) (*Watcher, error) {
config := WatcherConfig{
Dir: routesDir,
Callback: router.Refresh,
Log: log,
Recursive: true,
Adaptive: true,
}
watcher, err := WatchDirectory(config)
if err != nil {
return nil, err
}
log.Info("Started watching Lua routes directory with adaptive polling: %s", routesDir)
return watcher, nil
}
// WatchStaticRouter sets up a watcher for a StaticRouter's root directory
func WatchStaticRouter(router *routers.StaticRouter, staticDir string, log *logger.Logger) (*Watcher, error) {
config := WatcherConfig{
Dir: staticDir,
Callback: router.Refresh,
Log: log,
Recursive: true,
Adaptive: true,
}
watcher, err := WatchDirectory(config)
if err != nil {
return nil, err
}
log.Info("Started watching static files directory with adaptive polling: %s", staticDir)
return watcher, nil
}