atscppapi  1.0.9
C++ wrapper for Apache Traffic Server API
 All Classes Files Functions Enumerations Enumerator Macros
HttpStatus.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2013 LinkedIn Corp. All rights reserved.
3  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
4  * except in compliance with the License. You may obtain a copy of the license at
5  * http://www.apache.org/licenses/LICENSE-2.0
6  *
7  * Unless required by applicable law or agreed to in writing, software distributed under the
8  * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
9  * either express or implied.
10  *
11  */
12 
13 /**
14  * @file HttpStatus.h
15  * @author Brian Geffon
16  * @author Manjesh Nilange
17  * @brief Contains an enumeration and printable strings for Http Status codes.
18  */
19 
20 #pragma once
21 #ifndef ATSCPPAPI_HTTP_STATUS_H_
22 #define ATSCPPAPI_HTTP_STATUS_H_
23 
24 #include <string>
25 
26 namespace atscppapi {
27 
28 /**
29  * An enumeration of all available Http Status Codes.
30  */
31 enum HttpStatus
32 {
33  HTTP_STATUS_UNKNOWN = 0,
34 
35  HTTP_STATUS_CONTINUE = 100,
36  HTTP_STATUS_SWITCHING_PROTOCOL = 101,
37 
38  HTTP_STATUS_OK = 200,
39  HTTP_STATUS_CREATED = 201,
40  HTTP_STATUS_ACCEPTED = 202,
41  HTTP_STATUS_NON_AUTHORITATIVE_INFORMATION = 203,
42  HTTP_STATUS_NO_CONTENT = 204,
43  HTTP_STATUS_RESET_CONTENT = 205,
44  HTTP_STATUS_PARTIAL_CONTENT = 206,
45  HTTP_STATUS_MULTI_STATUS = 207,
46  HTTP_STATUS_ALREADY_REPORTED = 208,
47  HTTP_STATUS_IM_USED = 211,
48 
49  HTTP_STATUS_MULTIPLE_CHOICES = 300,
50  HTTP_STATUS_MOVED_PERMANENTLY = 301,
51  HTTP_STATUS_MOVED_TEMPORARILY = 302,
52  HTTP_STATUS_SEE_OTHER = 303,
53  HTTP_STATUS_NOT_MODIFIED = 304,
54  HTTP_STATUS_USE_PROXY = 305,
55  HTTP_STATUS_TEMPORARY_REDIRECT = 307,
56  HTTP_STATUS_PERMANENT_REDIRECT = 308,
57 
58  HTTP_STATUS_BAD_REQUEST = 400,
59  HTTP_STATUS_UNAUTHORIZED = 401,
60  HTTP_STATUS_PAYMENT_REQUIRED = 402,
61  HTTP_STATUS_FORBIDDEN = 403,
62  HTTP_STATUS_NOT_FOUND = 404,
63  HTTP_STATUS_METHOD_NOT_ALLOWED = 405,
64  HTTP_STATUS_NOT_ACCEPTABLE = 406,
65  HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED = 407,
66  HTTP_STATUS_REQUEST_TIMEOUT = 408,
67  HTTP_STATUS_CONFLICT = 409,
68  HTTP_STATUS_GONE = 410,
69  HTTP_STATUS_LENGTH_REQUIRED = 411,
70  HTTP_STATUS_PRECONDITION_FAILED = 412,
71  HTTP_STATUS_REQUEST_ENTITY_TOO_LARGE = 413,
72  HTTP_STATUS_REQUEST_URI_TOO_LONG = 414,
73  HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE = 415,
74  HTTP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE = 416,
75  HTTP_STATUS_EXPECTATION_FAILED = 417,
76  HTTP_STATUS_UNPROCESSABLE_ENTITY = 422,
77  HTTP_STATUS_LOCKED = 423,
78  HTTP_STATUS_FAILED_DEPENDENCY = 424,
79  HTTP_STATUS_UPGRADE_REQUIRED = 426,
80  HTTP_STATUS_PRECONDITION_REQUIRED = 428,
81  HTTP_STATUS_TOO_MANY_REQUESTS = 429,
82  HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
83 
84  HTTP_STATUS_INTERNAL_SERVER_ERROR = 500,
85  HTTP_STATUS_NOT_IMPLEMENTED = 501,
86  HTTP_STATUS_BAD_GATEWAY = 502,
87  HTTP_STATUS_SERVICE_UNAVAILABLE = 503,
88  HTTP_STATUS_GATEWAY_TIMEOUT = 504,
89  HTTP_STATUS_HTTPVER_NOT_SUPPORTED = 505,
90  HTTP_STATUS_VARIANT_ALSO_NEGOTIATES = 506,
91  HTTP_STATUS_INSUFFICIENT_STORAGE = 507,
92  HTTP_STATUS_LOOP_DETECTED = 508,
93  HTTP_STATUS_NOT_EXTENDED = 510,
94  HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED = 511
95 
96 };
97 
98 }
99 
100 #endif