सवाल Http.ResponseWriter पर स्टेटस कोड सेट करें


मैं एक पर http स्थिति कोड कैसे सेट करूं? http.ResponseWriter?

यानी एक 500, या 403।

मैं देख सकता हूं कि अनुरोधों में आम तौर पर 200 से जुड़े स्टेटस कोड होते हैं।


44
2017-10-17 22:37


मूल




जवाब:


उपयोग http.ResponseWriter.WriteHeader। दस्तावेज़ीकरण से:

WriteHeader स्टेटस कोड के साथ एक HTTP प्रतिक्रिया शीर्षलेख भेजता है। यदि WriteHeader को स्पष्ट रूप से नहीं कहा जाता है, तो लिखने वाला पहला कॉल एक अंतर्निहित WriteHeader (http.StatusOK) को ट्रिगर करेगा। इस प्रकार WriteHeader को स्पष्ट कॉल मुख्य रूप से त्रुटि कोड भेजने के लिए उपयोग की जाती हैं।

उदाहरण:

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





इसके अलावा WriteHeader(int) आप सहायक विधि का उपयोग कर सकते हैं एच टी टी पी त्रुटि, उदाहरण के लिए:

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 () और http.StatusText () तरीके आपके दोस्त हैं


38
2017-10-17 22:52





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

पूरी सूची यहाँ


15
2017-10-17 22:50