diff --git a/internal/builds/register.go b/internal/builds/register.go index 7fda74bdedcf37bbd57a73ce19014aa84a0fb9ab..09249fb69793072a93817427878b5fc364a04ab4 100644 --- a/internal/builds/register.go +++ b/internal/builds/register.go @@ -95,7 +95,7 @@ func RegisterHandler(h http.Handler, watchHandler WatchKeyHandler, pollingDurati requestBody, err := readRunnerBody(w, r) if err != nil { registerHandlerHits.WithLabelValues("body-read-error").Inc() - helper.Fail500(w, r, &largeBodyError{err}) + helper.RequestEntityTooLarge(w, r, &largeBodyError{err}) return } @@ -118,7 +118,7 @@ func RegisterHandler(h http.Handler, watchHandler WatchKeyHandler, pollingDurati runnerRequest.LastUpdate, pollingDuration) if err != nil { registerHandlerHits.WithLabelValues("watch-error").Inc() - helper.Fail500(w, newRequest, &watchError{err}) + proxyRegisterRequest(h, w, newRequest) return } diff --git a/internal/helper/helpers.go b/internal/helper/helpers.go index d3f2200acbb915df8f4897be1884e4807e017985..d039d49bda6f8c785123e9f9ccddea97266a2e65 100644 --- a/internal/helper/helpers.go +++ b/internal/helper/helpers.go @@ -41,6 +41,12 @@ func TooManyRequests(w http.ResponseWriter, r *http.Request, err error) { printError(r, err) } +func RequestEntityTooLarge(w http.ResponseWriter, r *http.Request, err error) { + http.Error(w, "Request Entity Too Large", http.StatusRequestEntityTooLarge) + captureRavenError(r, err) + printError(r, err) +} + func printError(r *http.Request, err error) { if r != nil { log.Printf("error: %s %q: %v", r.Method, r.RequestURI, err)