http.ResponseWriter
にhttpステータスコードを設定するにはどうすればよいですか?私は、要求が正常にそれらに接続200のステータスコードを持っていることがわかりますhttp.ResponseWriterでステータスコードを設定する
すなわち500、または403
。
http.ResponseWriter
にhttpステータスコードを設定するにはどうすればよいですか?私は、要求が正常にそれらに接続200のステータスコードを持っていることがわかりますhttp.ResponseWriterでステータスコードを設定する
すなわち500、または403
。
http.ResponseWriter.WriteHeader
を使用してください。ドキュメントから:
WriteHeaderはステータスコードとともにHTTP応答ヘッダーを送信します。 WriteHeaderが明示的に呼び出されない場合、Writeへの最初の呼び出しは暗黙のWriteHeader(http.StatusOK)をトリガーします。したがって、WriteHeaderへの明示的な呼び出しは、主にエラーコードの送信に使用されます。
例:
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 - Something bad happened!"))
}
w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)
完全なリストWriteHeader(int)
は別にhere
ます。たとえば、ヘルパーメソッドhttp.Errorを使用することができます。
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()メソッドはあなたの友人です