mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2025-09-26 20:31:11 +08:00
29 lines
506 B
Go
29 lines
506 B
Go
package expr
|
|
|
|
import (
|
|
"errors"
|
|
|
|
"github.com/AlexxIT/go2rtc/internal/app"
|
|
"github.com/AlexxIT/go2rtc/internal/streams"
|
|
"github.com/AlexxIT/go2rtc/pkg/expr"
|
|
)
|
|
|
|
func Init() {
|
|
log := app.GetLogger("expr")
|
|
|
|
streams.RedirectFunc("expr", func(url string) (string, error) {
|
|
v, err := expr.Eval(url[5:], nil)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
log.Debug().Msgf("[expr] url=%s", url)
|
|
|
|
if url = v.(string); url == "" {
|
|
return "", errors.New("expr: result is empty")
|
|
}
|
|
|
|
return url, nil
|
|
})
|
|
}
|