Wie setze ich den HTTP-Statuscode auf einem http.ResponseWriter
(z. B. auf 500 oder 403)?
Ich kann sehen, dass Anfragen normalerweise einen Statuscode von 200 haben.
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:Die Methoden http.Error () und http.StatusText () sind Ihre Freunde
quelle
vollständige Liste hier
quelle
http: superfluous response.WriteHeader call