diff --git a/server/handlers/default.go b/server/handlers/default.go index eb78ad5d10..b7a8b38083 100644 --- a/server/handlers/default.go +++ b/server/handlers/default.go @@ -23,9 +23,13 @@ import ( // MainHandler is the default handler for the server func MainHandler(ctx context.Context, w http.ResponseWriter, r *http.Request) *errors.HTTPError { if r.Method == "GET" { - err := json.NewEncoder(w).Encode("{}") + _, err := w.Write([]byte("{}")) if err != nil { - w.Write([]byte("{server_error: 'Could not parse error message'}")) + return &errors.HTTPError{ + HTTPStatus: http.StatusInternalServerError, + Code: 9999, + Err: err, + } } } else { //w.WriteHeader(http.StatusNotFound) diff --git a/server/server.go b/server/server.go index 00b16ae768..9f1889bc88 100644 --- a/server/server.go +++ b/server/server.go @@ -76,6 +76,7 @@ func Run(ctx context.Context, addr, tlsCertFile, tlsKeyFile string, trust signed r := mux.NewRouter() // TODO (endophage): use correct regexes for image and tag names + r.Methods("GET").Path("/v2/").Handler(hand(handlers.MainHandler)) r.Methods("POST").Path("/v2/{imageName:.*}/_trust/tuf/").Handler(hand(handlers.AtomicUpdateHandler, "push", "pull")) r.Methods("GET").Path("/v2/{imageName:.*}/_trust/tuf/{tufRole:(root|targets|snapshot)}.json").Handler(hand(handlers.GetHandler, "pull")) r.Methods("GET").Path("/v2/{imageName:.*}/_trust/tuf/timestamp.json").Handler(hand(handlers.GetTimestampHandler, "pull"))