回答:
を使用し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!"))
}
WriteHeader(int)
あなたとは別に、ヘルパーメソッド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()メソッドはあなたの友達です
w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)
全リストはこちら
http: superfluous response.WriteHeader call