mirror of
https://github.com/bolucat/Archive.git
synced 2025-10-09 01:50:34 +08:00
26 lines
560 B
Go
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
|
|
}
|