Files
Archive/trojan-go/api/api.go
2024-03-05 02:32:38 -08:00

26 lines
560 B
Go

package api
import (
"context"
"github.com/p4gefau1t/trojan-go/log"
"github.com/p4gefau1t/trojan-go/statistic"
)
type Handler func(ctx context.Context, auth statistic.Authenticator) error
var handlers = make(map[string]Handler)
func RegisterHandler(name string, handler Handler) {
handlers[name] = handler
}
func RunService(ctx context.Context, name string, auth statistic.Authenticator) error {
if h, ok := handlers[name]; ok {
log.Debug("api handler found", name)
return h(ctx, auth)
}
log.Debug("api handler not found", name)
return nil
}