chore: better error message

This commit is contained in:
yusing 2025-04-28 00:48:20 +08:00
parent 66853dfc52
commit 89d93dd878
2 changed files with 8 additions and 5 deletions

View file

@ -35,8 +35,8 @@ var allMiddlewares = map[string]*Middleware{
} }
var ( var (
ErrUnknownMiddleware = gperr.New("unknown middleware") ErrUnknownMiddleware = gperr.New("unknown middleware")
ErrDuplicatedMiddleware = gperr.New("duplicated middleware") ErrMiddlewareAlreadyExists = gperr.New("middleware with the same name already exists")
) )
func Get(name string) (*Middleware, Error) { func Get(name string) (*Middleware, Error) {
@ -69,7 +69,7 @@ func LoadComposeFiles() {
for name, m := range mws { for name, m := range mws {
name = strutils.ToLowerNoSnake(name) name = strutils.ToLowerNoSnake(name)
if _, ok := allMiddlewares[name]; ok { if _, ok := allMiddlewares[name]; ok {
errs.Add(ErrDuplicatedMiddleware.Subject(name)) errs.Add(ErrMiddlewareAlreadyExists.Subject(name))
continue continue
} }
allMiddlewares[name] = m allMiddlewares[name] = m

View file

@ -80,8 +80,11 @@ func (p *DockerProvider) loadRoutesImpl() (route.Routes, gperr.Error) {
errs.Add(err.Subject(container.ContainerName)) errs.Add(err.Subject(container.ContainerName))
} }
for k, v := range newEntries { for k, v := range newEntries {
if routes.Contains(k) { if conflict, ok := routes[k]; ok {
errs.Addf("duplicated alias %s", k) errs.Add(gperr.Multiline().
Addf("route with alias %s already exists", k).
Addf("container %s", container.ContainerName).
Addf("conflicting container %s", conflict.Container.ContainerName))
} else { } else {
routes[k] = v routes[k] = v
} }