Soru Http.ResponseWriter'de durum kodunu ayarlayın


Http durum kodunu nasıl ayarlayabilirim? http.ResponseWriter?

yani 500 veya 403.

Bu taleplerin normalde onlara bağlı bir durum kodu 200 olduğunu görebiliyorum.


44
2017-10-17 22:37


Menşei




Cevaplar:


kullanım http.ResponseWriter.WriteHeader. Belgelerden:

WriteHeader, durum koduyla bir HTTP yanıt başlığı gönderir. WriteHeader açıkça çağrılmıyorsa, Write'a yapılan ilk çağrı örtülü bir WriteHeader'ı (http.StatusOK) tetikler. Böylece, WriteHeader'a yapılan açık çağrılar çoğunlukla hata kodlarını göndermek için kullanılır.

Örnek:

func ServeHTTP(w http.ResponseWriter, r *http.Request) {
    w.WriteHeader(http.StatusInternalServerError)
    w.Write([]byte("500 - Something bad happened!"))
}

75
2017-10-17 22:39





Dışında WriteHeader(int) yardımcı yöntemini kullanabilirsiniz HTTP hatası, Örneğin:

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)
}

http.Error () ve http.StatusText () yöntemler arkadaşların


38
2017-10-17 22:52





w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)

tam liste İşte


15
2017-10-17 22:50