| // 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 |
| |
| StatusInternalServerError = 500 |
| StatusNotImplemented = 501 |
| StatusBadGateway = 502 |
| StatusServiceUnavailable = 503 |
| StatusGatewayTimeout = 504 |
| StatusHTTPVersionNotSupported = 505 |
| |
| // New HTTP status codes from RFC 6585. Not exported yet in Go 1.1. |
| // See discussion at https://codereview.appspot.com/7678043/ |
| statusPreconditionRequired = 428 |
| statusTooManyRequests = 429 |
| statusRequestHeaderFieldsTooLarge = 431 |
| 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", |
| |
| StatusInternalServerError: "Internal Server Error", |
| StatusNotImplemented: "Not Implemented", |
| StatusBadGateway: "Bad Gateway", |
| StatusServiceUnavailable: "Service Unavailable", |
| StatusGatewayTimeout: "Gateway Timeout", |
| StatusHTTPVersionNotSupported: "HTTP Version Not Supported", |
| |
| statusPreconditionRequired: "Precondition Required", |
| statusTooManyRequests: "Too Many Requests", |
| statusRequestHeaderFieldsTooLarge: "Request Header Fields Too Large", |
| 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] |
| } |