45 lines
1.1 KiB
Go
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
|
|
}
|