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