| // 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 9110, 15.2.1 |
| StatusSwitchingProtocols = 101 // RFC 9110, 15.2.2 |
| StatusProcessing = 102 // RFC 2518, 10.1 |
| StatusEarlyHints = 103 // RFC 8297 |
| |
| StatusOK = 200 // RFC 9110, 15.3.1 |
| StatusCreated = 201 // RFC 9110, 15.3.2 |
| StatusAccepted = 202 // RFC 9110, 15.3.3 |
| StatusNonAuthoritativeInfo = 203 // RFC 9110, 15.3.4 |
| StatusNoContent = 204 // RFC 9110, 15.3.5 |
| StatusResetContent = 205 // RFC 9110, 15.3.6 |
| StatusPartialContent = 206 // RFC 9110, 15.3.7 |
| StatusMultiStatus = 207 // RFC 4918, 11.1 |
| StatusAlreadyReported = 208 // RFC 5842, 7.1 |
| StatusIMUsed = 226 // RFC 3229, 10.4.1 |
| |
| StatusMultipleChoices = 300 // RFC 9110, 15.4.1 |
| StatusMovedPermanently = 301 // RFC 9110, 15.4.2 |
| StatusFound = 302 // RFC 9110, 15.4.3 |
| StatusSeeOther = 303 // RFC 9110, 15.4.4 |
| StatusNotModified = 304 // RFC 9110, 15.4.5 |
| StatusUseProxy = 305 // RFC 9110, 15.4.6 |
| _ = 306 // RFC 9110, 15.4.7 (Unused) |
| StatusTemporaryRedirect = 307 // RFC 9110, 15.4.8 |
| StatusPermanentRedirect = 308 // RFC 9110, 15.4.9 |
| |
| StatusBadRequest = 400 // RFC 9110, 15.5.1 |
| StatusUnauthorized = 401 // RFC 9110, 15.5.2 |
| StatusPaymentRequired = 402 // RFC 9110, 15.5.3 |
| StatusForbidden = 403 // RFC 9110, 15.5.4 |
| StatusNotFound = 404 // RFC 9110, 15.5.5 |
| StatusMethodNotAllowed = 405 // RFC 9110, 15.5.6 |
| StatusNotAcceptable = 406 // RFC 9110, 15.5.7 |
| StatusProxyAuthRequired = 407 // RFC 9110, 15.5.8 |
| StatusRequestTimeout = 408 // RFC 9110, 15.5.9 |
| StatusConflict = 409 // RFC 9110, 15.5.10 |
| StatusGone = 410 // RFC 9110, 15.5.11 |
| StatusLengthRequired = 411 // RFC 9110, 15.5.12 |
| StatusPreconditionFailed = 412 // RFC 9110, 15.5.13 |
| StatusRequestEntityTooLarge = 413 // RFC 9110, 15.5.14 |
| StatusRequestURITooLong = 414 // RFC 9110, 15.5.15 |
| StatusUnsupportedMediaType = 415 // RFC 9110, 15.5.16 |
| StatusRequestedRangeNotSatisfiable = 416 // RFC 9110, 15.5.17 |
| StatusExpectationFailed = 417 // RFC 9110, 15.5.18 |
| StatusTeapot = 418 // RFC 9110, 15.5.19 (Unused) |
| StatusMisdirectedRequest = 421 // RFC 9110, 15.5.20 |
| StatusUnprocessableEntity = 422 // RFC 9110, 15.5.21 |
| StatusLocked = 423 // RFC 4918, 11.3 |
| StatusFailedDependency = 424 // RFC 4918, 11.4 |
| StatusTooEarly = 425 // RFC 8470, 5.2. |
| StatusUpgradeRequired = 426 // RFC 9110, 15.5.22 |
| StatusPreconditionRequired = 428 // RFC 6585, 3 |
| StatusTooManyRequests = 429 // RFC 6585, 4 |
| StatusRequestHeaderFieldsTooLarge = 431 // RFC 6585, 5 |
| StatusUnavailableForLegalReasons = 451 // RFC 7725, 3 |
| |
| StatusInternalServerError = 500 // RFC 9110, 15.6.1 |
| StatusNotImplemented = 501 // RFC 9110, 15.6.2 |
| StatusBadGateway = 502 // RFC 9110, 15.6.3 |
| StatusServiceUnavailable = 503 // RFC 9110, 15.6.4 |
| StatusGatewayTimeout = 504 // RFC 9110, 15.6.5 |
| StatusHTTPVersionNotSupported = 505 // RFC 9110, 15.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 |
| ) |
| |
| // StatusText returns a text for the HTTP status code. It returns the empty |
| // string if the code is unknown. |
| func StatusText(code int) string { |
| switch code { |
| case StatusContinue: |
| return "Continue" |
| case StatusSwitchingProtocols: |
| return "Switching Protocols" |
| case StatusProcessing: |
| return "Processing" |
| case StatusEarlyHints: |
| return "Early Hints" |
| case StatusOK: |
| return "OK" |
| case StatusCreated: |
| return "Created" |
| case StatusAccepted: |
| return "Accepted" |
| case StatusNonAuthoritativeInfo: |
| return "Non-Authoritative Information" |
| case StatusNoContent: |
| return "No Content" |
| case StatusResetContent: |
| return "Reset Content" |
| case StatusPartialContent: |
| return "Partial Content" |
| case StatusMultiStatus: |
| return "Multi-Status" |
| case StatusAlreadyReported: |
| return "Already Reported" |
| case StatusIMUsed: |
| return "IM Used" |
| case StatusMultipleChoices: |
| return "Multiple Choices" |
| case StatusMovedPermanently: |
| return "Moved Permanently" |
| case StatusFound: |
| return "Found" |
| case StatusSeeOther: |
| return "See Other" |
| case StatusNotModified: |
| return "Not Modified" |
| case StatusUseProxy: |
| return "Use Proxy" |
| case StatusTemporaryRedirect: |
| return "Temporary Redirect" |
| case StatusPermanentRedirect: |
| return "Permanent Redirect" |
| case StatusBadRequest: |
| return "Bad Request" |
| case StatusUnauthorized: |
| return "Unauthorized" |
| case StatusPaymentRequired: |
| return "Payment Required" |
| case StatusForbidden: |
| return "Forbidden" |
| case StatusNotFound: |
| return "Not Found" |
| case StatusMethodNotAllowed: |
| return "Method Not Allowed" |
| case StatusNotAcceptable: |
| return "Not Acceptable" |
| case StatusProxyAuthRequired: |
| return "Proxy Authentication Required" |
| case StatusRequestTimeout: |
| return "Request Timeout" |
| case StatusConflict: |
| return "Conflict" |
| case StatusGone: |
| return "Gone" |
| case StatusLengthRequired: |
| return "Length Required" |
| case StatusPreconditionFailed: |
| return "Precondition Failed" |
| case StatusRequestEntityTooLarge: |
| return "Request Entity Too Large" |
| case StatusRequestURITooLong: |
| return "Request URI Too Long" |
| case StatusUnsupportedMediaType: |
| return "Unsupported Media Type" |
| case StatusRequestedRangeNotSatisfiable: |
| return "Requested Range Not Satisfiable" |
| case StatusExpectationFailed: |
| return "Expectation Failed" |
| case StatusTeapot: |
| return "I'm a teapot" |
| case StatusMisdirectedRequest: |
| return "Misdirected Request" |
| case StatusUnprocessableEntity: |
| return "Unprocessable Entity" |
| case StatusLocked: |
| return "Locked" |
| case StatusFailedDependency: |
| return "Failed Dependency" |
| case StatusTooEarly: |
| return "Too Early" |
| case StatusUpgradeRequired: |
| return "Upgrade Required" |
| case StatusPreconditionRequired: |
| return "Precondition Required" |
| case StatusTooManyRequests: |
| return "Too Many Requests" |
| case StatusRequestHeaderFieldsTooLarge: |
| return "Request Header Fields Too Large" |
| case StatusUnavailableForLegalReasons: |
| return "Unavailable For Legal Reasons" |
| case StatusInternalServerError: |
| return "Internal Server Error" |
| case StatusNotImplemented: |
| return "Not Implemented" |
| case StatusBadGateway: |
| return "Bad Gateway" |
| case StatusServiceUnavailable: |
| return "Service Unavailable" |
| case StatusGatewayTimeout: |
| return "Gateway Timeout" |
| case StatusHTTPVersionNotSupported: |
| return "HTTP Version Not Supported" |
| case StatusVariantAlsoNegotiates: |
| return "Variant Also Negotiates" |
| case StatusInsufficientStorage: |
| return "Insufficient Storage" |
| case StatusLoopDetected: |
| return "Loop Detected" |
| case StatusNotExtended: |
| return "Not Extended" |
| case StatusNetworkAuthenticationRequired: |
| return "Network Authentication Required" |
| default: |
| return "" |
| } |
| } |