rev |
line source |
nuclear@1
|
1 #ifndef HTTP_H_
|
nuclear@1
|
2 #define HTTP_H_
|
nuclear@1
|
3
|
nuclear@1
|
4 enum http_method {
|
nuclear@1
|
5 HTTP_UNKNOWN,
|
nuclear@1
|
6 HTTP_OPTIONS,
|
nuclear@1
|
7 HTTP_GET,
|
nuclear@1
|
8 HTTP_HEAD,
|
nuclear@1
|
9 HTTP_POST,
|
nuclear@1
|
10 HTTP_PUT,
|
nuclear@1
|
11 HTTP_DELETE,
|
nuclear@1
|
12 HTTP_TRACE,
|
nuclear@1
|
13 HTTP_CONNECT,
|
nuclear@1
|
14
|
nuclear@1
|
15 NUM_HTTP_METHODS
|
nuclear@1
|
16 };
|
nuclear@1
|
17
|
nuclear@1
|
18 const char *http_method_str[] = {
|
nuclear@1
|
19 "<unknown>",
|
nuclear@1
|
20 "OPTIONS",
|
nuclear@1
|
21 "GET",
|
nuclear@1
|
22 "HEAD",
|
nuclear@1
|
23 "POST",
|
nuclear@1
|
24 "PUT",
|
nuclear@1
|
25 "DELETE",
|
nuclear@1
|
26 "TRACE",
|
nuclear@1
|
27 "CONNECT",
|
nuclear@1
|
28 0
|
nuclear@1
|
29 };
|
nuclear@1
|
30
|
nuclear@1
|
31
|
nuclear@1
|
32 struct http_req_header {
|
nuclear@1
|
33 enum http_method method;
|
nuclear@1
|
34 char *uri;
|
nuclear@1
|
35 int ver_major, ver_minor; /* http version */
|
nuclear@1
|
36 /* XXX cont. */
|
nuclear@1
|
37 };
|
nuclear@1
|
38
|
nuclear@1
|
39
|
nuclear@1
|
40 /* HTTP 1xx message strings */
|
nuclear@1
|
41 const char *http_msg1xx[] = {
|
nuclear@1
|
42 "Continue", /* 100 */
|
nuclear@1
|
43 "Switching Protocols" /* 101 */
|
nuclear@1
|
44 };
|
nuclear@1
|
45
|
nuclear@1
|
46 /* HTTP 2xx message strings */
|
nuclear@1
|
47 const char *http_msg2xx[] = {
|
nuclear@1
|
48 "OK", /* 200 */
|
nuclear@1
|
49 "Created", /* 201 */
|
nuclear@1
|
50 "Accepted", /* 202 */
|
nuclear@1
|
51 "Non-Authoritative Information", /* 203 */
|
nuclear@1
|
52 "No Content", /* 204 */
|
nuclear@1
|
53 "Reset Content", /* 205 */
|
nuclear@1
|
54 "Partial Content" /* 206 */
|
nuclear@1
|
55 };
|
nuclear@1
|
56
|
nuclear@1
|
57 /* HTTP 3xx message strings */
|
nuclear@1
|
58 const char *http_msg3xx[] = {
|
nuclear@1
|
59 "Multiple Choices", /* 300 */
|
nuclear@1
|
60 "Moved Permanently", /* 301 */
|
nuclear@1
|
61 "Found", /* 302 */
|
nuclear@1
|
62 "See Other", /* 303 */
|
nuclear@1
|
63 "Not Modified", /* 304 */
|
nuclear@1
|
64 "Use Proxy", /* 305 */
|
nuclear@1
|
65 "<unknown>", /* 306 is undefined? */
|
nuclear@1
|
66 "Temporary Redirect" /* 307 */
|
nuclear@1
|
67 };
|
nuclear@1
|
68
|
nuclear@1
|
69 /* HTTP 4xx error strings */
|
nuclear@1
|
70 const char *http_msg4xx[] = {
|
nuclear@1
|
71 "Bad Request", /* 400 */
|
nuclear@1
|
72 "Unauthorized", /* 401 */
|
nuclear@1
|
73 "What the Fuck?", /* 402 */
|
nuclear@1
|
74 "Forbidden", /* 403 */
|
nuclear@1
|
75 "Not Found", /* 404 */
|
nuclear@1
|
76 "Method Not Allowed", /* 405 */
|
nuclear@1
|
77 "Not Acceptable", /* 406 */
|
nuclear@1
|
78 "Proxy Authentication Required", /* 407 */
|
nuclear@1
|
79 "Request Time-out", /* 408 */
|
nuclear@1
|
80 "Conflict", /* 409 */
|
nuclear@1
|
81 "Gone", /* 410 */
|
nuclear@1
|
82 "Length Required", /* 411 */
|
nuclear@1
|
83 "Precondition Failed", /* 412 */
|
nuclear@1
|
84 "Request Entity Too Large", /* 413 */
|
nuclear@1
|
85 "Request-URI Too Large", /* 414 */
|
nuclear@1
|
86 "Unsupported Media Type", /* 415 */
|
nuclear@1
|
87 "Request range not satisfiable", /* 416 */
|
nuclear@1
|
88 "Expectation Failed" /* 417 */
|
nuclear@1
|
89 };
|
nuclear@1
|
90
|
nuclear@1
|
91 /* HTTP 5xx error strings */
|
nuclear@1
|
92 const char *http_msg5xx[] = {
|
nuclear@1
|
93 "Internal Server Error", /* 500 */
|
nuclear@1
|
94 "Not Implemented", /* 501 */
|
nuclear@1
|
95 "Bad Gateway", /* 502 */
|
nuclear@1
|
96 "Service Unavailable", /* 503 */
|
nuclear@1
|
97 "Gateway Time-out", /* 504 */
|
nuclear@1
|
98 "HTTP Version not supported" /* 505 */
|
nuclear@1
|
99 };
|
nuclear@1
|
100
|
nuclear@1
|
101 const char *http_strmsg(int code);
|
nuclear@1
|
102
|
nuclear@1
|
103 #endif /* HTTP_H_ */
|