refactor and organize code

This commit is contained in:
yusing
2025-02-15 05:44:47 +08:00
parent 1af6dd9cf8
commit 18d258aaa2
169 changed files with 1020 additions and 755 deletions

View File

@@ -7,7 +7,7 @@ import (
"github.com/rs/zerolog"
"github.com/yusing/go-proxy/internal/docker"
"github.com/yusing/go-proxy/internal/docker/idlewatcher"
E "github.com/yusing/go-proxy/internal/error"
"github.com/yusing/go-proxy/internal/gperr"
"github.com/yusing/go-proxy/internal/logging"
net "github.com/yusing/go-proxy/internal/net/types"
"github.com/yusing/go-proxy/internal/route/routes"
@@ -30,7 +30,7 @@ type StreamRoute struct {
l zerolog.Logger
}
func NewStreamRoute(base *Route) (route.Route, E.Error) {
func NewStreamRoute(base *Route) (route.Route, gperr.Error) {
// TODO: support non-coherent scheme
return &StreamRoute{
Route: base,
@@ -46,9 +46,9 @@ func (r *StreamRoute) String() string {
}
// Start implements task.TaskStarter.
func (r *StreamRoute) Start(parent task.Parent) E.Error {
func (r *StreamRoute) Start(parent task.Parent) gperr.Error {
if existing, ok := routes.GetStreamRoute(r.TargetName()); ok {
return E.Errorf("route already exists: from provider %s and %s", existing.ProviderName(), r.ProviderName())
return gperr.Errorf("route already exists: from provider %s and %s", existing.ProviderName(), r.ProviderName())
}
r.task = parent.Subtask("stream." + r.TargetName())
r.Stream = NewStream(r)
@@ -81,14 +81,14 @@ func (r *StreamRoute) Start(parent task.Parent) E.Error {
if err := r.Stream.Setup(); err != nil {
r.task.Finish(err)
return E.From(err)
return gperr.Wrap(err)
}
r.l.Info().Int("port", r.Port.Listening).Msg("listening")
if r.HealthMon != nil {
if err := r.HealthMon.Start(r.task); err != nil {
E.LogWarn("health monitor error", err, &r.l)
gperr.LogWarn("health monitor error", err, &r.l)
}
}
@@ -128,7 +128,7 @@ func (r *StreamRoute) acceptConnections() {
select {
case <-r.task.Context().Done():
default:
E.LogError("accept connection error", err, &r.l)
gperr.LogError("accept connection error", err, &r.l)
}
r.task.Finish(err)
return
@@ -139,7 +139,7 @@ func (r *StreamRoute) acceptConnections() {
go func() {
err := r.Stream.Handle(conn)
if err != nil && !errors.Is(err, context.Canceled) {
E.LogError("handle connection error", err, &r.l)
gperr.LogError("handle connection error", err, &r.l)
}
}()
}