Como defino o código de status HTTP em um http.ResponseWriter
(por exemplo, 500 ou 403)?
Posso ver que as solicitações normalmente têm um código de status de 200 anexado a elas.
Use http.ResponseWriter.WriteHeader
. Da documentação:
WriteHeader envia um cabeçalho de resposta HTTP com o código de status. Se WriteHeader não for chamado explicitamente, a primeira chamada para Write acionará um WriteHeader implícito (http.StatusOK). Assim, as chamadas explícitas para WriteHeader são usadas principalmente para enviar códigos de erro.
Exemplo:
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 - Something bad happened!"))
}
Além disso,
WriteHeader(int)
você pode usar o método auxiliar http.Error , por exemplo:Os métodos http.Error () e http.StatusText () são seus amigos
fonte
lista completa aqui
fonte
http: superfluous response.WriteHeader call