consts/http_code.go

113 lines
3.5 KiB
Go

// Package consts ...
//
// Description : consts ...
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 2025-04-19 12:38
package consts
import (
"fmt"
"net/http"
)
type HttpCode struct {
Value any `json:"value"`
Code int `json:"code"`
Desc string `json:"desc"`
}
func newHttpCodeData(httpCode int) HttpCode {
desc := http.StatusText(httpCode)
if len(desc) == 0 {
if httpCode == 499 {
desc = "client request timeout"
} else {
desc = fmt.Sprintf("%v: unknown error", httpCode)
}
}
return HttpCode{
Value: httpCode,
Code: httpCode,
Desc: desc,
}
}
var (
HttpCodeList = []HttpCode{
// 1xx
newHttpCodeData(http.StatusContinue),
newHttpCodeData(http.StatusSwitchingProtocols),
newHttpCodeData(http.StatusProcessing),
newHttpCodeData(http.StatusEarlyHints),
// 2xx
newHttpCodeData(http.StatusOK),
newHttpCodeData(http.StatusCreated),
newHttpCodeData(http.StatusAccepted),
newHttpCodeData(http.StatusNonAuthoritativeInfo),
newHttpCodeData(http.StatusNoContent),
newHttpCodeData(http.StatusResetContent),
newHttpCodeData(http.StatusPartialContent),
newHttpCodeData(http.StatusMultiStatus),
newHttpCodeData(http.StatusAlreadyReported),
newHttpCodeData(http.StatusIMUsed),
// 3xx
newHttpCodeData(http.StatusMultipleChoices),
newHttpCodeData(http.StatusMovedPermanently),
newHttpCodeData(http.StatusFound),
newHttpCodeData(http.StatusSeeOther),
newHttpCodeData(http.StatusNotModified),
newHttpCodeData(http.StatusUseProxy),
newHttpCodeData(http.StatusTemporaryRedirect),
newHttpCodeData(http.StatusPermanentRedirect),
// 4xx
newHttpCodeData(http.StatusBadRequest),
newHttpCodeData(http.StatusUnauthorized),
newHttpCodeData(http.StatusPaymentRequired),
newHttpCodeData(http.StatusForbidden),
newHttpCodeData(http.StatusNotFound),
newHttpCodeData(http.StatusMethodNotAllowed),
newHttpCodeData(http.StatusNotAcceptable),
newHttpCodeData(http.StatusProxyAuthRequired),
newHttpCodeData(http.StatusRequestTimeout),
newHttpCodeData(http.StatusConflict),
newHttpCodeData(http.StatusGone),
newHttpCodeData(http.StatusLengthRequired),
newHttpCodeData(http.StatusPreconditionFailed),
newHttpCodeData(http.StatusRequestEntityTooLarge),
newHttpCodeData(http.StatusRequestURITooLong),
newHttpCodeData(http.StatusUnsupportedMediaType),
newHttpCodeData(http.StatusRequestedRangeNotSatisfiable),
newHttpCodeData(http.StatusExpectationFailed),
newHttpCodeData(http.StatusTeapot),
newHttpCodeData(http.StatusMisdirectedRequest),
newHttpCodeData(http.StatusUnprocessableEntity),
newHttpCodeData(http.StatusLocked),
newHttpCodeData(http.StatusFailedDependency),
newHttpCodeData(http.StatusTooEarly),
newHttpCodeData(http.StatusUpgradeRequired),
newHttpCodeData(http.StatusPreconditionRequired),
newHttpCodeData(http.StatusTooManyRequests),
newHttpCodeData(http.StatusRequestHeaderFieldsTooLarge),
newHttpCodeData(http.StatusUnavailableForLegalReasons),
newHttpCodeData(499),
// 5xx
newHttpCodeData(http.StatusInternalServerError),
newHttpCodeData(http.StatusNotImplemented),
newHttpCodeData(http.StatusBadGateway),
newHttpCodeData(http.StatusServiceUnavailable),
newHttpCodeData(http.StatusGatewayTimeout),
newHttpCodeData(http.StatusHTTPVersionNotSupported),
newHttpCodeData(http.StatusVariantAlsoNegotiates),
newHttpCodeData(http.StatusInsufficientStorage),
newHttpCodeData(http.StatusLoopDetected),
newHttpCodeData(http.StatusNotExtended),
newHttpCodeData(http.StatusNetworkAuthenticationRequired),
}
)