Antworten:
Verwenden Sie http.ResponseWriter.WriteHeader
. Aus der Dokumentation:
WriteHeader sendet einen HTTP-Antwortheader mit Statuscode. Wenn WriteHeader nicht explizit aufgerufen wird, löst der erste Aufruf von Write einen impliziten WriteHeader (http.StatusOK) aus. Daher werden explizite Aufrufe von WriteHeader hauptsächlich zum Senden von Fehlercodes verwendet.
Beispiel:
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 - Something bad happened!"))
}
Außerdem WriteHeader(int)
können Sie die Hilfsmethode http.Error verwenden , zum Beispiel:
func yourFuncHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, "my own error message", http.StatusForbidden)
// or using the default message error
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
}
Die Methoden http.Error () und http.StatusText () sind Ihre Freunde
w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)
vollständige Liste hier
http: superfluous response.WriteHeader call