func handlePkgsDelete(db datastore.Datastore) httprouter.Handle { return func(rw http.ResponseWriter, r *http.Request, ps httprouter.Params) { name := strings.TrimLeft(ps.ByName("name"), "/") accept := acceptHeader(r) err := db.DeletePkg(name) // path error, return not found if _, ok := err.(*os.PathError); ok { respondError(rw, http.StatusNotFound, accept, err) return } // all other errors if err != nil { respondError(rw, http.StatusInternalServerError, accept, fmt.Errorf("Failed to delete pkgsinfo from the datastore: %v", err)) return } rw.WriteHeader(http.StatusNoContent) } }