Как получать статус код динамически

Есть вот такая строчка

w.WriteHeader(http.StatusOK)

Из которой я могу сделать вывод что статус это хэдер в http запросе/ответе. Отсюда вопрос: Как прочитать этот хэдер по аналогии с r.Method или r.Proto или r.Header.Get("User-Agent")

Мой сервер не делает запросов, но обрабатывает запросы поступающие извне. Как мне читать хэдер с кодом, с которым завершился http запрос к моему серверу.

func FillHTML(w http.ResponseWriter, r *http.Request) {
    templ, err := template.ParseFiles("../static/out.tmpl.html")
    if err != nil {
        log.Fatal(status.Code(err), "parsing file error", err)
    }
    resp := ReqToGRPC(w, r)
    data := Data{
        Dat: resp,
    }
    templ.Execute(w, data)

    log.Println(r.Method, "----->", templ.Name()) //здесь еще должен быть код с котороым завершился запрос
}

Ответы (1 шт):

Автор решения: Pak Uula

Из которой я могу сделать вывод что статус это хэдер в http запросе/ответе

Вы делаете неправильный вывод. Код статуса (status code) - это выделенное поле в ответе. Он представляется числом из трёх цифр и передаётся в первой строке ответа. Он доступен клиенту как поле StatusCode структуры Response

Вам не нужно его читать. Вы этот код устанавливаете исходя из каких-то ваших соображений. Например, если запрос неверен, то вы устанавливаете статус BadRequest, если произошла ошибка обработки, то InternalServerError и так далее.

→ Ссылка