github.com/miolini/go@v0.0.0-20160405192216-fca68c8cb408/src/net/http/status.go (about)

     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  
     5  package http
     6  
     7  // HTTP status codes, defined in RFC 2616.
     8  const (
     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  	StatusPreconditionRequired         = 428
    48  	StatusTooManyRequests              = 429
    49  	StatusRequestHeaderFieldsTooLarge  = 431
    50  	StatusUnavailableForLegalReasons   = 451
    51  
    52  	StatusInternalServerError           = 500
    53  	StatusNotImplemented                = 501
    54  	StatusBadGateway                    = 502
    55  	StatusServiceUnavailable            = 503
    56  	StatusGatewayTimeout                = 504
    57  	StatusHTTPVersionNotSupported       = 505
    58  	StatusNetworkAuthenticationRequired = 511
    59  )
    60  
    61  var statusText = map[int]string{
    62  	StatusContinue:           "Continue",
    63  	StatusSwitchingProtocols: "Switching Protocols",
    64  
    65  	StatusOK:                   "OK",
    66  	StatusCreated:              "Created",
    67  	StatusAccepted:             "Accepted",
    68  	StatusNonAuthoritativeInfo: "Non-Authoritative Information",
    69  	StatusNoContent:            "No Content",
    70  	StatusResetContent:         "Reset Content",
    71  	StatusPartialContent:       "Partial Content",
    72  
    73  	StatusMultipleChoices:   "Multiple Choices",
    74  	StatusMovedPermanently:  "Moved Permanently",
    75  	StatusFound:             "Found",
    76  	StatusSeeOther:          "See Other",
    77  	StatusNotModified:       "Not Modified",
    78  	StatusUseProxy:          "Use Proxy",
    79  	StatusTemporaryRedirect: "Temporary Redirect",
    80  
    81  	StatusBadRequest:                   "Bad Request",
    82  	StatusUnauthorized:                 "Unauthorized",
    83  	StatusPaymentRequired:              "Payment Required",
    84  	StatusForbidden:                    "Forbidden",
    85  	StatusNotFound:                     "Not Found",
    86  	StatusMethodNotAllowed:             "Method Not Allowed",
    87  	StatusNotAcceptable:                "Not Acceptable",
    88  	StatusProxyAuthRequired:            "Proxy Authentication Required",
    89  	StatusRequestTimeout:               "Request Timeout",
    90  	StatusConflict:                     "Conflict",
    91  	StatusGone:                         "Gone",
    92  	StatusLengthRequired:               "Length Required",
    93  	StatusPreconditionFailed:           "Precondition Failed",
    94  	StatusRequestEntityTooLarge:        "Request Entity Too Large",
    95  	StatusRequestURITooLong:            "Request URI Too Long",
    96  	StatusUnsupportedMediaType:         "Unsupported Media Type",
    97  	StatusRequestedRangeNotSatisfiable: "Requested Range Not Satisfiable",
    98  	StatusExpectationFailed:            "Expectation Failed",
    99  	StatusTeapot:                       "I'm a teapot",
   100  	StatusPreconditionRequired:         "Precondition Required",
   101  	StatusTooManyRequests:              "Too Many Requests",
   102  	StatusRequestHeaderFieldsTooLarge:  "Request Header Fields Too Large",
   103  	StatusUnavailableForLegalReasons:   "Unavailable For Legal Reasons",
   104  
   105  	StatusInternalServerError:           "Internal Server Error",
   106  	StatusNotImplemented:                "Not Implemented",
   107  	StatusBadGateway:                    "Bad Gateway",
   108  	StatusServiceUnavailable:            "Service Unavailable",
   109  	StatusGatewayTimeout:                "Gateway Timeout",
   110  	StatusHTTPVersionNotSupported:       "HTTP Version Not Supported",
   111  	StatusNetworkAuthenticationRequired: "Network Authentication Required",
   112  }
   113  
   114  // StatusText returns a text for the HTTP status code. It returns the empty
   115  // string if the code is unknown.
   116  func StatusText(code int) string {
   117  	return statusText[code]
   118  }