net/http: add missing HTTP status codes

This commit adds missing status codes:

* 102 - Processing
* 207 - Multi-Status
* 208 - Already Reported
* 226 - IM Used
* 308 - Permanent Redirect
* 422 - Unprocessable Entity
* 423 - Locked
* 424 - Failed Dependency
* 426 - Upgrade Required
* 506 - Variant Also Negotiates
* 507 - Insufficient Storage
* 508 - Loop Detected
* 510 - Not Extended
* 511 - Network Authentication Required

Change-Id: Ife0e5b064f4b1e3542d2fd41abc9e7b1e410b644
Reviewed-on: https://go-review.googlesource.com/23090
Reviewed-by: Andrew Gerrand <adg@golang.org>
Run-TryBot: Andrew Gerrand <adg@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Seth Vargo 2016-05-12 16:26:27 -04:00 committed by Andrew Gerrand
parent a5d1a72a40
commit b9ec0024fb

View File

@ -4,63 +4,79 @@
package http package http
// HTTP status codes, defined in RFC 2616. // HTTP status codes as registered with IANA.
// See: http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
const ( const (
StatusContinue = 100 StatusContinue = 100 // RFC 7231, 6.2.1
StatusSwitchingProtocols = 101 StatusSwitchingProtocols = 101 // RFC 7231, 6.2.2
StatusProcessing = 102 // RFC 2518, 10.1
StatusOK = 200 StatusOK = 200 // RFC 7231, 6.3.1
StatusCreated = 201 StatusCreated = 201 // RFC 7231, 6.3.2
StatusAccepted = 202 StatusAccepted = 202 // RFC 7231, 6.3.3
StatusNonAuthoritativeInfo = 203 StatusNonAuthoritativeInfo = 203 // RFC 7231, 6.3.4
StatusNoContent = 204 StatusNoContent = 204 // RFC 7231, 6.3.5
StatusResetContent = 205 StatusResetContent = 205 // RFC 7231, 6.3.6
StatusPartialContent = 206 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 StatusMultipleChoices = 300 // RFC 7231, 6.4.1
StatusMovedPermanently = 301 StatusMovedPermanently = 301 // RFC 7231, 6.4.2
StatusFound = 302 StatusFound = 302 // RFC 7231, 6.4.3
StatusSeeOther = 303 StatusSeeOther = 303 // RFC 7231, 6.4.4
StatusNotModified = 304 StatusNotModified = 304 // RFC 7232, 4.1
StatusUseProxy = 305 StatusUseProxy = 305 // RFC 7231, 6.4.5
StatusTemporaryRedirect = 307 _ = 306 // RFC 7231, 6.4.6 (Unused)
StatusTemporaryRedirect = 307 // RFC 7231, 6.4.7
StatusPermanentRedirect = 308 // RFC 7538, 3
StatusBadRequest = 400 StatusBadRequest = 400 // RFC 7231, 6.5.1
StatusUnauthorized = 401 StatusUnauthorized = 401 // RFC 7235, 3.1
StatusPaymentRequired = 402 StatusPaymentRequired = 402 // RFC 7231, 6.5.2
StatusForbidden = 403 StatusForbidden = 403 // RFC 7231, 6.5.3
StatusNotFound = 404 StatusNotFound = 404 // RFC 7231, 6.5.4
StatusMethodNotAllowed = 405 StatusMethodNotAllowed = 405 // RFC 7231, 6.5.5
StatusNotAcceptable = 406 StatusNotAcceptable = 406 // RFC 7231, 6.5.6
StatusProxyAuthRequired = 407 StatusProxyAuthRequired = 407 // RFC 7235, 3.2
StatusRequestTimeout = 408 StatusRequestTimeout = 408 // RFC 7231, 6.5.7
StatusConflict = 409 StatusConflict = 409 // RFC 7231, 6.5.8
StatusGone = 410 StatusGone = 410 // RFC 7231, 6.5.9
StatusLengthRequired = 411 StatusLengthRequired = 411 // RFC 7231, 6.5.10
StatusPreconditionFailed = 412 StatusPreconditionFailed = 412 // RFC 7232, 4.2
StatusRequestEntityTooLarge = 413 StatusRequestEntityTooLarge = 413 // RFC 7231, 6.5.11
StatusRequestURITooLong = 414 StatusRequestURITooLong = 414 // RFC 7231, 6.5.12
StatusUnsupportedMediaType = 415 StatusUnsupportedMediaType = 415 // RFC 7231, 6.5.13
StatusRequestedRangeNotSatisfiable = 416 StatusRequestedRangeNotSatisfiable = 416 // RFC 7233, 4.4
StatusExpectationFailed = 417 StatusExpectationFailed = 417 // RFC 7231, 6.5.14
StatusTeapot = 418 StatusTeapot = 418 // RFC 7168, 2.3.3
StatusPreconditionRequired = 428 StatusUnprocessableEntity = 422 // RFC 4918, 11.2
StatusTooManyRequests = 429 StatusLocked = 423 // RFC 4918, 11.3
StatusRequestHeaderFieldsTooLarge = 431 StatusFailedDependency = 424 // RFC 4918, 11.4
StatusUnavailableForLegalReasons = 451 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 StatusInternalServerError = 500 // RFC 7231, 6.6.1
StatusNotImplemented = 501 StatusNotImplemented = 501 // RFC 7231, 6.6.2
StatusBadGateway = 502 StatusBadGateway = 502 // RFC 7231, 6.6.3
StatusServiceUnavailable = 503 StatusServiceUnavailable = 503 // RFC 7231, 6.6.4
StatusGatewayTimeout = 504 StatusGatewayTimeout = 504 // RFC 7231, 6.6.5
StatusHTTPVersionNotSupported = 505 StatusHTTPVersionNotSupported = 505 // RFC 7231, 6.6.6
StatusNetworkAuthenticationRequired = 511 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{ var statusText = map[int]string{
StatusContinue: "Continue", StatusContinue: "Continue",
StatusSwitchingProtocols: "Switching Protocols", StatusSwitchingProtocols: "Switching Protocols",
StatusProcessing: "Processing",
StatusOK: "OK", StatusOK: "OK",
StatusCreated: "Created", StatusCreated: "Created",
@ -69,6 +85,9 @@ var statusText = map[int]string{
StatusNoContent: "No Content", StatusNoContent: "No Content",
StatusResetContent: "Reset Content", StatusResetContent: "Reset Content",
StatusPartialContent: "Partial Content", StatusPartialContent: "Partial Content",
StatusMultiStatus: "Multi-Status",
StatusAlreadyReported: "Already Reported",
StatusIMUsed: "IM Used",
StatusMultipleChoices: "Multiple Choices", StatusMultipleChoices: "Multiple Choices",
StatusMovedPermanently: "Moved Permanently", StatusMovedPermanently: "Moved Permanently",
@ -77,6 +96,7 @@ var statusText = map[int]string{
StatusNotModified: "Not Modified", StatusNotModified: "Not Modified",
StatusUseProxy: "Use Proxy", StatusUseProxy: "Use Proxy",
StatusTemporaryRedirect: "Temporary Redirect", StatusTemporaryRedirect: "Temporary Redirect",
StatusPermanentRedirect: "Permanent Redirect",
StatusBadRequest: "Bad Request", StatusBadRequest: "Bad Request",
StatusUnauthorized: "Unauthorized", StatusUnauthorized: "Unauthorized",
@ -97,6 +117,10 @@ var statusText = map[int]string{
StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable", StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
StatusExpectationFailed: "Expectation Failed", StatusExpectationFailed: "Expectation Failed",
StatusTeapot: "I'm a teapot", StatusTeapot: "I'm a teapot",
StatusUnprocessableEntity: "Unprocessable Entity",
StatusLocked: "Locked",
StatusFailedDependency: "Failed Dependency",
StatusUpgradeRequired: "Upgrade Required",
StatusPreconditionRequired: "Precondition Required", StatusPreconditionRequired: "Precondition Required",
StatusTooManyRequests: "Too Many Requests", StatusTooManyRequests: "Too Many Requests",
StatusRequestHeaderFieldsTooLarge: "Request Header Fields Too Large", StatusRequestHeaderFieldsTooLarge: "Request Header Fields Too Large",
@ -108,6 +132,10 @@ var statusText = map[int]string{
StatusServiceUnavailable: "Service Unavailable", StatusServiceUnavailable: "Service Unavailable",
StatusGatewayTimeout: "Gateway Timeout", StatusGatewayTimeout: "Gateway Timeout",
StatusHTTPVersionNotSupported: "HTTP Version Not Supported", StatusHTTPVersionNotSupported: "HTTP Version Not Supported",
StatusVariantAlsoNegotiates: "Variant Also Negotiates",
StatusInsufficientStorage: "Insufficient Storage",
StatusLoopDetected: "Loop Detected",
StatusNotExtended: "Not Extended",
StatusNetworkAuthenticationRequired: "Network Authentication Required", StatusNetworkAuthenticationRequired: "Network Authentication Required",
} }