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 5package http 6 7// HTTP status codes, defined in RFC 2616. 8const ( 9 StatusContinue = 100 10 StatusSwitchingProtocols = 101 11 12 StatusOK = 200 13 StatusCreated = 201 14 StatusAccepted = 202 15 StatusNonAuthoritativeInfo = 203 16 StatusNoContent = 204 17 StatusResetContent = 205 18 StatusPartialContent = 206 19 20 StatusMultipleChoices = 300 21 StatusMovedPermanently = 301 22 StatusFound = 302 23 StatusSeeOther = 303 24 StatusNotModified = 304 25 StatusUseProxy = 305 26 StatusTemporaryRedirect = 307 27 28 StatusBadRequest = 400 29 StatusUnauthorized = 401 30 StatusPaymentRequired = 402 31 StatusForbidden = 403 32 StatusNotFound = 404 33 StatusMethodNotAllowed = 405 34 StatusNotAcceptable = 406 35 StatusProxyAuthRequired = 407 36 StatusRequestTimeout = 408 37 StatusConflict = 409 38 StatusGone = 410 39 StatusLengthRequired = 411 40 StatusPreconditionFailed = 412 41 StatusRequestEntityTooLarge = 413 42 StatusRequestURITooLong = 414 43 StatusUnsupportedMediaType = 415 44 StatusRequestedRangeNotSatisfiable = 416 45 StatusExpectationFailed = 417 46 StatusTeapot = 418 47 48 StatusInternalServerError = 500 49 StatusNotImplemented = 501 50 StatusBadGateway = 502 51 StatusServiceUnavailable = 503 52 StatusGatewayTimeout = 504 53 StatusHTTPVersionNotSupported = 505 54) 55 56var statusText = map[int]string{ 57 StatusContinue: "Continue", 58 StatusSwitchingProtocols: "Switching Protocols", 59 60 StatusOK: "OK", 61 StatusCreated: "Created", 62 StatusAccepted: "Accepted", 63 StatusNonAuthoritativeInfo: "Non-Authoritative Information", 64 StatusNoContent: "No Content", 65 StatusResetContent: "Reset Content", 66 StatusPartialContent: "Partial Content", 67 68 StatusMultipleChoices: "Multiple Choices", 69 StatusMovedPermanently: "Moved Permanently", 70 StatusFound: "Found", 71 StatusSeeOther: "See Other", 72 StatusNotModified: "Not Modified", 73 StatusUseProxy: "Use Proxy", 74 StatusTemporaryRedirect: "Temporary Redirect", 75 76 StatusBadRequest: "Bad Request", 77 StatusUnauthorized: "Unauthorized", 78 StatusPaymentRequired: "Payment Required", 79 StatusForbidden: "Forbidden", 80 StatusNotFound: "Not Found", 81 StatusMethodNotAllowed: "Method Not Allowed", 82 StatusNotAcceptable: "Not Acceptable", 83 StatusProxyAuthRequired: "Proxy Authentication Required", 84 StatusRequestTimeout: "Request Timeout", 85 StatusConflict: "Conflict", 86 StatusGone: "Gone", 87 StatusLengthRequired: "Length Required", 88 StatusPreconditionFailed: "Precondition Failed", 89 StatusRequestEntityTooLarge: "Request Entity Too Large", 90 StatusRequestURITooLong: "Request URI Too Long", 91 StatusUnsupportedMediaType: "Unsupported Media Type", 92 StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable", 93 StatusExpectationFailed: "Expectation Failed", 94 StatusTeapot: "I'm a teapot", 95 96 StatusInternalServerError: "Internal Server Error", 97 StatusNotImplemented: "Not Implemented", 98 StatusBadGateway: "Bad Gateway", 99 StatusServiceUnavailable: "Service Unavailable", 100 StatusGatewayTimeout: "Gateway Timeout", 101 StatusHTTPVersionNotSupported: "HTTP Version Not Supported", 102} 103 104// StatusText returns a text for the HTTP status code. It returns the empty 105// string if the code is unknown. 106func StatusText(code int) string { 107 return statusText[code] 108} 109