Câu trả lời:
Sử dụng http.ResponseWriter.WriteHeader
. Từ tài liệu:
WriteHeader gửi một tiêu đề phản hồi HTTP với mã trạng thái. Nếu WriteHeader không được gọi một cách rõ ràng, thì lệnh gọi Write đầu tiên sẽ kích hoạt một WriteHeader ngầm hiểu (http.StatusOK). Do đó, các cuộc gọi rõ ràng đến WriteHeader chủ yếu được sử dụng để gửi mã lỗi.
Thí dụ:
func ServeHTTP(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte("500 - Something bad happened!"))
}
Ngoài ra, WriteHeader(int)
bạn có thể sử dụng phương thức trợ giúp http.Error , ví dụ:
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)
}
Phương thức http.Error () và http.StatusText () là bạn của bạn
w.WriteHeader(http.StatusInternalServerError)
w.WriteHeader(http.StatusForbidden)
danh sách đầy đủ ở đây
http: superfluous response.WriteHeader call