...
Run Format

Source file src/net/http/status.go

Documentation: net/http

     1  // Copyright 2009 The Go Authors. All rights reserved.
     2  // Use of this source code is governed by a BSD-style
     3  // license that can be found in the LICENSE file.
     4  
     5  package http
     6  
     7  // HTTP status codes as registered with IANA.
     8  // See: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
     9  const (
    10  	StatusContinue           = 100 // RFC 7231, 6.2.1
    11  	StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2
    12  	StatusProcessing         = 102 // RFC 2518, 10.1
    13  
    14  	StatusOK                   = 200 // RFC 7231, 6.3.1
    15  	StatusCreated              = 201 // RFC 7231, 6.3.2
    16  	StatusAccepted             = 202 // RFC 7231, 6.3.3
    17  	StatusNonAuthoritativeInfo = 203 // RFC 7231, 6.3.4
    18  	StatusNoContent            = 204 // RFC 7231, 6.3.5
    19  	StatusResetContent         = 205 // RFC 7231, 6.3.6
    20  	StatusPartialContent       = 206 // RFC 7233, 4.1
    21  	StatusMultiStatus          = 207 // RFC 4918, 11.1
    22  	StatusAlreadyReported      = 208 // RFC 5842, 7.1
    23  	StatusIMUsed               = 226 // RFC 3229, 10.4.1
    24  
    25  	StatusMultipleChoices   = 300 // RFC 7231, 6.4.1
    26  	StatusMovedPermanently  = 301 // RFC 7231, 6.4.2
    27  	StatusFound             = 302 // RFC 7231, 6.4.3
    28  	StatusSeeOther          = 303 // RFC 7231, 6.4.4
    29  	StatusNotModified       = 304 // RFC 7232, 4.1
    30  	StatusUseProxy          = 305 // RFC 7231, 6.4.5
    31  	_                       = 306 // RFC 7231, 6.4.6 (Unused)
    32  	StatusTemporaryRedirect = 307 // RFC 7231, 6.4.7
    33  	StatusPermanentRedirect = 308 // RFC 7538, 3
    34  
    35  	StatusBadRequest                   = 400 // RFC 7231, 6.5.1
    36  	StatusUnauthorized                 = 401 // RFC 7235, 3.1
    37  	StatusPaymentRequired              = 402 // RFC 7231, 6.5.2
    38  	StatusForbidden                    = 403 // RFC 7231, 6.5.3
    39  	StatusNotFound                     = 404 // RFC 7231, 6.5.4
    40  	StatusMethodNotAllowed             = 405 // RFC 7231, 6.5.5
    41  	StatusNotAcceptable                = 406 // RFC 7231, 6.5.6
    42  	StatusProxyAuthRequired            = 407 // RFC 7235, 3.2
    43  	StatusRequestTimeout               = 408 // RFC 7231, 6.5.7
    44  	StatusConflict                     = 409 // RFC 7231, 6.5.8
    45  	StatusGone                         = 410 // RFC 7231, 6.5.9
    46  	StatusLengthRequired               = 411 // RFC 7231, 6.5.10
    47  	StatusPreconditionFailed           = 412 // RFC 7232, 4.2
    48  	StatusRequestEntityTooLarge        = 413 // RFC 7231, 6.5.11
    49  	StatusRequestURITooLong            = 414 // RFC 7231, 6.5.12
    50  	StatusUnsupportedMediaType         = 415 // RFC 7231, 6.5.13
    51  	StatusRequestedRangeNotSatisfiable = 416 // RFC 7233, 4.4
    52  	StatusExpectationFailed            = 417 // RFC 7231, 6.5.14
    53  	StatusTeapot                       = 418 // RFC 7168, 2.3.3
    54  	StatusMisdirectedRequest           = 421 // RFC 7540, 9.1.2
    55  	StatusUnprocessableEntity          = 422 // RFC 4918, 11.2
    56  	StatusLocked                       = 423 // RFC 4918, 11.3
    57  	StatusFailedDependency             = 424 // RFC 4918, 11.4
    58  	StatusUpgradeRequired              = 426 // RFC 7231, 6.5.15
    59  	StatusPreconditionRequired         = 428 // RFC 6585, 3
    60  	StatusTooManyRequests              = 429 // RFC 6585, 4
    61  	StatusRequestHeaderFieldsTooLarge  = 431 // RFC 6585, 5
    62  	StatusUnavailableForLegalReasons   = 451 // RFC 7725, 3
    63  
    64  	StatusInternalServerError           = 500 // RFC 7231, 6.6.1
    65  	StatusNotImplemented                = 501 // RFC 7231, 6.6.2
    66  	StatusBadGateway                    = 502 // RFC 7231, 6.6.3
    67  	StatusServiceUnavailable            = 503 // RFC 7231, 6.6.4
    68  	StatusGatewayTimeout                = 504 // RFC 7231, 6.6.5
    69  	StatusHTTPVersionNotSupported       = 505 // RFC 7231, 6.6.6
    70  	StatusVariantAlsoNegotiates         = 506 // RFC 2295, 8.1
    71  	StatusInsufficientStorage           = 507 // RFC 4918, 11.5
    72  	StatusLoopDetected                  = 508 // RFC 5842, 7.2
    73  	StatusNotExtended                   = 510 // RFC 2774, 7
    74  	StatusNetworkAuthenticationRequired = 511 // RFC 6585, 6
    75  )
    76  
    77  var statusText = map[int]string{
    78  	StatusContinue:           "Continue",
    79  	StatusSwitchingProtocols: "Switching Protocols",
    80  	StatusProcessing:         "Processing",
    81  
    82  	StatusOK:                   "OK",
    83  	StatusCreated:              "Created",
    84  	StatusAccepted:             "Accepted",
    85  	StatusNonAuthoritativeInfo: "Non-Authoritative Information",
    86  	StatusNoContent:            "No Content",
    87  	StatusResetContent:         "Reset Content",
    88  	StatusPartialContent:       "Partial Content",
    89  	StatusMultiStatus:          "Multi-Status",
    90  	StatusAlreadyReported:      "Already Reported",
    91  	StatusIMUsed:               "IM Used",
    92  
    93  	StatusMultipleChoices:   "Multiple Choices",
    94  	StatusMovedPermanently:  "Moved Permanently",
    95  	StatusFound:             "Found",
    96  	StatusSeeOther:          "See Other",
    97  	StatusNotModified:       "Not Modified",
    98  	StatusUseProxy:          "Use Proxy",
    99  	StatusTemporaryRedirect: "Temporary Redirect",
   100  	StatusPermanentRedirect: "Permanent Redirect",
   101  
   102  	StatusBadRequest:                   "Bad Request",
   103  	StatusUnauthorized:                 "Unauthorized",
   104  	StatusPaymentRequired:              "Payment Required",
   105  	StatusForbidden:                    "Forbidden",
   106  	StatusNotFound:                     "Not Found",
   107  	StatusMethodNotAllowed:             "Method Not Allowed",
   108  	StatusNotAcceptable:                "Not Acceptable",
   109  	StatusProxyAuthRequired:            "Proxy Authentication Required",
   110  	StatusRequestTimeout:               "Request Timeout",
   111  	StatusConflict:                     "Conflict",
   112  	StatusGone:                         "Gone",
   113  	StatusLengthRequired:               "Length Required",
   114  	StatusPreconditionFailed:           "Precondition Failed",
   115  	StatusRequestEntityTooLarge:        "Request Entity Too Large",
   116  	StatusRequestURITooLong:            "Request URI Too Long",
   117  	StatusUnsupportedMediaType:         "Unsupported Media Type",
   118  	StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
   119  	StatusExpectationFailed:            "Expectation Failed",
   120  	StatusTeapot:                       "I'm a teapot",
   121  	StatusMisdirectedRequest:           "Misdirected Request",
   122  	StatusUnprocessableEntity:          "Unprocessable Entity",
   123  	StatusLocked:                       "Locked",
   124  	StatusFailedDependency:             "Failed Dependency",
   125  	StatusUpgradeRequired:              "Upgrade Required",
   126  	StatusPreconditionRequired:         "Precondition Required",
   127  	StatusTooManyRequests:              "Too Many Requests",
   128  	StatusRequestHeaderFieldsTooLarge:  "Request Header Fields Too Large",
   129  	StatusUnavailableForLegalReasons:   "Unavailable For Legal Reasons",
   130  
   131  	StatusInternalServerError:           "Internal Server Error",
   132  	StatusNotImplemented:                "Not Implemented",
   133  	StatusBadGateway:                    "Bad Gateway",
   134  	StatusServiceUnavailable:            "Service Unavailable",
   135  	StatusGatewayTimeout:                "Gateway Timeout",
   136  	StatusHTTPVersionNotSupported:       "HTTP Version Not Supported",
   137  	StatusVariantAlsoNegotiates:         "Variant Also Negotiates",
   138  	StatusInsufficientStorage:           "Insufficient Storage",
   139  	StatusLoopDetected:                  "Loop Detected",
   140  	StatusNotExtended:                   "Not Extended",
   141  	StatusNetworkAuthenticationRequired: "Network Authentication Required",
   142  }
   143  
   144  // StatusText returns a text for the HTTP status code. It returns the empty
   145  // string if the code is unknown.
   146  func StatusText(code int) string {
   147  	return statusText[code]
   148  }
   149  

View as plain text