improve error logging
1 file changed, 11 insertions(+), 4 deletions(-)
changed files
M routes/routes.go → routes/routes.go
@@ -2,6 +2,7 @@ package routes import ( "compress/gzip" + "errors" "fmt" "log" "path/filepath"@@ -311,14 +312,20 @@ return templates.RefsPage(pageData, branches, tags).Render(rc) } func (d *deps) NotFound(rc *atreugo.RequestCtx) error { - log.Printf("Not found: %s", rc.Request.RequestURI()) - - return ErrNotFound + return fmt.Errorf("%s: %w", string(rc.Request.RequestURI()), ErrNotFound) } func (d *deps) Error(rc *atreugo.RequestCtx, cause error, statusCode int) { + message := cause.Error() + log.Printf("Error: %v", cause) + if errors.Is(cause, ErrNotFound) || errors.Is(cause, ErrRepoDenied) { + statusCode = fasthttp.StatusNotFound + cause = errors.Unwrap(cause) + message = cause.Error() + } + var err error if rc.Request.Header.HasAcceptEncoding("text/html") { rc.SetContentType("text/html; charset=utf-8")@@ -326,7 +333,7 @@ err = templates.ErrorPage(templates.PageData{ Error: &templates.Error{ Code: statusCode, - Message: cause.Error(), + Message: message, }, }).Render(rc) } else {