| // 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 as registered with IANA. | |
| // See: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml | |
| const ( | |
| StatusContinue = 100 // RFC 7231, 6.2.1 | |
| StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2 | |
| StatusProcessing = 102 // RFC 2518, 10.1 | |
| StatusEarlyHints = 103 // RFC 8297 | |
| StatusOK = 200 // RFC 7231, 6.3.1 | |
| StatusCreated = 201 // RFC 7231, 6.3.2 | |
| StatusAccepted = 202 // RFC 7231, 6.3.3 | |
| StatusNonAuthoritativeInfo = 203 // RFC 7231, 6.3.4 | |
| StatusNoContent = 204 // RFC 7231, 6.3.5 | |
| StatusResetContent = 205 // RFC 7231, 6.3.6 | |
| StatusPartialContent = 206 // RFC 7233, 4.1 | |
| StatusMultiStatus = 207 // RFC 4918, 11.1 | |
| StatusAlreadyReported = 208 // RFC 5842, 7.1 | |
| StatusIMUsed = 226 // RFC 3229, 10.4.1 | |
| StatusMultipleChoices = 300 // RFC 7231, 6.4.1 | |
| StatusMovedPermanently = 301 // RFC 7231, 6.4.2 | |
| StatusFound = 302 // RFC 7231, 6.4.3 | |
| StatusSeeOther = 303 // RFC 7231, 6.4.4 | |
| StatusNotModified = 304 // RFC 7232, 4.1 | |
| StatusUseProxy = 305 // RFC 7231, 6.4.5 | |
| _ = 306 // RFC 7231, 6.4.6 (Unused) | |
| StatusTemporaryRedirect = 307 // RFC 7231, 6.4.7 | |
| StatusPermanentRedirect = 308 // RFC 7538, 3 | |
| StatusBadRequest = 400 // RFC 7231, 6.5.1 | |
| StatusUnauthorized = 401 // RFC 7235, 3.1 | |
| StatusPaymentRequired = 402 // RFC 7231, 6.5.2 | |
| StatusForbidden = 403 // RFC 7231, 6.5.3 | |
| StatusNotFound = 404 // RFC 7231, 6.5.4 | |
| StatusMethodNotAllowed = 405 // RFC 7231, 6.5.5 | |
| StatusNotAcceptable = 406 // RFC 7231, 6.5.6 | |
| StatusProxyAuthRequired = 407 // RFC 7235, 3.2 | |
| StatusRequestTimeout = 408 // RFC 7231, 6.5.7 | |
| StatusConflict = 409 // RFC 7231, 6.5.8 | |
| StatusGone = 410 // RFC 7231, 6.5.9 | |
| StatusLengthRequired = 411 // RFC 7231, 6.5.10 | |
| StatusPreconditionFailed = 412 // RFC 7232, 4.2 | |
| StatusRequestEntityTooLarge = 413 // RFC 7231, 6.5.11 | |
| StatusRequestURITooLong = 414 // RFC 7231, 6.5.12 | |
| StatusUnsupportedMediaType = 415 // RFC 7231, 6.5.13 | |
| StatusRequestedRangeNotSatisfiable = 416 // RFC 7233, 4.4 | |
| StatusExpectationFailed = 417 // RFC 7231, 6.5.14 | |
| StatusTeapot = 418 // RFC 7168, 2.3.3 | |
| StatusMisdirectedRequest = 421 // RFC 7540, 9.1.2 | |
| StatusUnprocessableEntity = 422 // RFC 4918, 11.2 | |
| StatusLocked = 423 // RFC 4918, 11.3 | |
| StatusFailedDependency = 424 // RFC 4918, 11.4 | |
| StatusTooEarly = 425 // RFC 8470, 5.2. | |
| StatusUpgradeRequired = 426 // RFC 7231, 6.5.15 | |
| StatusPreconditionRequired = 428 // RFC 6585, 3 | |
| StatusTooManyRequests = 429 // RFC 6585, 4 | |
| StatusRequestHeaderFieldsTooLarge = 431 // RFC 6585, 5 | |
| StatusUnavailableForLegalReasons = 451 // RFC 7725, 3 | |
| StatusInternalServerError = 500 // RFC 7231, 6.6.1 | |
| StatusNotImplemented = 501 // RFC 7231, 6.6.2 | |
| StatusBadGateway = 502 // RFC 7231, 6.6.3 | |
| StatusServiceUnavailable = 503 // RFC 7231, 6.6.4 | |
| StatusGatewayTimeout = 504 // RFC 7231, 6.6.5 | |
| StatusHTTPVersionNotSupported = 505 // RFC 7231, 6.6.6 | |
| StatusVariantAlsoNegotiates = 506 // RFC 2295, 8.1 | |
| StatusInsufficientStorage = 507 // RFC 4918, 11.5 | |
| StatusLoopDetected = 508 // RFC 5842, 7.2 | |
| StatusNotExtended = 510 // RFC 2774, 7 | |
| StatusNetworkAuthenticationRequired = 511 // RFC 6585, 6 | |
| ) | |
| var statusText = map[int]string{ | |
| StatusContinue: "Continue", | |
| StatusSwitchingProtocols: "Switching Protocols", | |
| StatusProcessing: "Processing", | |
| StatusEarlyHints: "Early Hints", | |
| StatusOK: "OK", | |
| StatusCreated: "Created", | |
| StatusAccepted: "Accepted", | |
| StatusNonAuthoritativeInfo: "Non-Authoritative Information", | |
| StatusNoContent: "No Content", | |
| StatusResetContent: "Reset Content", | |
| StatusPartialContent: "Partial Content", | |
| StatusMultiStatus: "Multi-Status", | |
| StatusAlreadyReported: "Already Reported", | |
| StatusIMUsed: "IM Used", | |
| StatusMultipleChoices: "Multiple Choices", | |
| StatusMovedPermanently: "Moved Permanently", | |
| StatusFound: "Found", | |
| StatusSeeOther: "See Other", | |
| StatusNotModified: "Not Modified", | |
| StatusUseProxy: "Use Proxy", | |
| StatusTemporaryRedirect: "Temporary Redirect", | |
| StatusPermanentRedirect: "Permanent 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", | |
| StatusMisdirectedRequest: "Misdirected Request", | |
| StatusUnprocessableEntity: "Unprocessable Entity", | |
| StatusLocked: "Locked", | |
| StatusFailedDependency: "Failed Dependency", | |
| StatusTooEarly: "Too Early", | |
| StatusUpgradeRequired: "Upgrade Required", | |
| 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", | |
| StatusVariantAlsoNegotiates: "Variant Also Negotiates", | |
| StatusInsufficientStorage: "Insufficient Storage", | |
| StatusLoopDetected: "Loop Detected", | |
| StatusNotExtended: "Not Extended", | |
| StatusNetworkAuthenticationRequired: "Network Authentication Required", | |
| } | |
| // StatusText returns a text for the HTTP status code. It returns the empty | |
| // string if the code is unknown. | |
| func StatusText(code int) string { | |
| return statusText[code] | |
| } |