当前位置: 首页 > 工具软件 > status-go > 使用案例 >

go status.go 状态码定义

宦兴朝
2023-12-01

status.go使用了一个map集合定义了http的响应状态码

具体的参考如下

// Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package http

// HTTP status codes, defined in RFC 2616.
const (
    StatusContinue           = 100
    StatusSwitchingProtocols = 101

    StatusOK                   = 200
    StatusCreated              = 201
    StatusAccepted             = 202
    StatusNonAuthoritativeInfo = 203
    StatusNoContent            = 204
    StatusResetContent         = 205
    StatusPartialContent       = 206

    StatusMultipleChoices   = 300
    StatusMovedPermanently  = 301
    StatusFound             = 302
    StatusSeeOther          = 303
    StatusNotModified       = 304
    StatusUseProxy          = 305
    StatusTemporaryRedirect = 307

    StatusBadRequest                   = 400
    StatusUnauthorized                 = 401
    StatusPaymentRequired              = 402
    StatusForbidden                    = 403
    StatusNotFound                     = 404
    StatusMethodNotAllowed             = 405
    StatusNotAcceptable                = 406
    StatusProxyAuthRequired            = 407
    StatusRequestTimeout               = 408
    StatusConflict                     = 409
    StatusGone                         = 410
    StatusLengthRequired               = 411
    StatusPreconditionFailed           = 412
    StatusRequestEntityTooLarge        = 413
    StatusRequestURITooLong            = 414
    StatusUnsupportedMediaType         = 415
    StatusRequestedRangeNotSatisfiable = 416
    StatusExpectationFailed            = 417
    StatusTeapot                       = 418
    StatusPreconditionRequired         = 428
    StatusTooManyRequests              = 429
    StatusRequestHeaderFieldsTooLarge  = 431
    StatusUnavailableForLegalReasons   = 451

    StatusInternalServerError           = 500
    StatusNotImplemented                = 501
    StatusBadGateway                    = 502
    StatusServiceUnavailable            = 503
    StatusGatewayTimeout                = 504
    StatusHTTPVersionNotSupported       = 505
    StatusNetworkAuthenticationRequired = 511
)

var statusText = map[int]string{
    StatusContinue:           "Continue",
    StatusSwitchingProtocols: "Switching Protocols",

    StatusOK:                   "OK",
    StatusCreated:              "Created",
    StatusAccepted:             "Accepted",
    StatusNonAuthoritativeInfo: "Non-Authoritative Information",
    StatusNoContent:            "No Content",
    StatusResetContent:         "Reset Content",
    StatusPartialContent:       "Partial Content",

    StatusMultipleChoices:   "Multiple Choices",
    StatusMovedPermanently:  "Moved Permanently",
    StatusFound:             "Found",
    StatusSeeOther:          "See Other",
    StatusNotModified:       "Not Modified",
    StatusUseProxy:          "Use Proxy",
    StatusTemporaryRedirect: "Temporary Redirect",

    StatusBadRequest:                   "Bad Request",
    StatusUnauthorized:                 "Unauthorized",
    StatusPaymentRequired:              "Payment Required",
    StatusForbidden:                    "Forbidden",
    StatusNotFound:                     "Not Found",
    StatusMethodNotAllowed:             "Method Not Allowed",
    StatusNotAcceptable:                "Not Acceptable",
    StatusProxyAuthRequired:            "Proxy Authentication Required",
    StatusRequestTimeout:               "Request Timeout",
    StatusConflict:                     "Conflict",
    StatusGone:                         "Gone",
    StatusLengthRequired:               "Length Required",
    StatusPreconditionFailed:           "Precondition Failed",
    StatusRequestEntityTooLarge:        "Request Entity Too Large",
    StatusRequestURITooLong:            "Request URI Too Long",
    StatusUnsupportedMediaType:         "Unsupported Media Type",
    StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
    StatusExpectationFailed:            "Expectation Failed",
    StatusTeapot:                       "I'm a teapot",
    StatusPreconditionRequired:         "Precondition Required",
    StatusTooManyRequests:              "Too Many Requests",
    StatusRequestHeaderFieldsTooLarge:  "Request Header Fields Too Large",
    StatusUnavailableForLegalReasons:   "Unavailable For Legal Reasons",

    StatusInternalServerError:           "Internal Server Error",
    StatusNotImplemented:                "Not Implemented",
    StatusBadGateway:                    "Bad Gateway",
    StatusServiceUnavailable:            "Service Unavailable",
    StatusGatewayTimeout:                "Gateway Timeout",
    StatusHTTPVersionNotSupported:       "HTTP Version Not Supported",
    StatusNetworkAuthenticationRequired: "Network Authentication Required",
}

// 返回httpcode对应的 状态码描述信息
// 返回空字符串表示状态码 unknown
func StatusText(code int) string {
    return statusText[code]
}
 类似资料: