refactor(state): replace Entrypoint method with ShortLinkMatcher interface

- Cleaned up agent go.mod by removing unused indirect dependencies.
This commit is contained in:
yusing
2026-01-04 12:43:05 +08:00
parent 72e53773b0
commit da8e03258d
4 changed files with 15 additions and 10 deletions

View File

@@ -6,7 +6,6 @@ import (
"iter"
"net/http"
"github.com/yusing/godoxy/internal/entrypoint"
"github.com/yusing/godoxy/internal/types"
"github.com/yusing/goutils/server"
"github.com/yusing/goutils/synk"
@@ -23,7 +22,7 @@ type State interface {
Value() *Config
EntrypointHandler() http.Handler
Entrypoint() *entrypoint.Entrypoint
ShortLinkMatcher() ShortLinkMatcher
AutoCertProvider() server.CertProvider
LoadOrStoreProvider(key string, value types.RouteProvider) (actual types.RouteProvider, loaded bool)
@@ -35,6 +34,12 @@ type State interface {
FlushTmpLog()
}
type ShortLinkMatcher interface {
AddRoute(alias string)
DelRoute(alias string)
ServeHTTP(w http.ResponseWriter, r *http.Request)
}
// could be nil before first call on Load
var ActiveState synk.Value[State]