113 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			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),
 | 
						|
	}
 | 
						|
)
 |