56 #define HTTP_NONE ((http_header_t *)MSG_HEADER_NONE)
57 #define HTTP_DEFAULT_PORT (80)
58 #define HTTP_DEFAULT_SERV "80"
61 #define HTTP_PROTOCOL_TAG ((void *)(uintptr_t)0x48545450)
65 HTTP_FLG_NO_BODY = (1 << 15)
82 #define HTTP_METHOD(s) http_method_unknown, #s
83 #define HTTP_NO_METHOD http_method_unknown, NULL
84 #define HTTP_METHOD_GET http_method_get, "GET"
85 #define HTTP_METHOD_POST http_method_post, "POST"
86 #define HTTP_METHOD_HEAD http_method_head, "HEAD"
87 #define HTTP_METHOD_OPTIONS http_method_options, "OPTIONS"
88 #define HTTP_METHOD_PUT http_method_put, "PUT"
89 #define HTTP_METHOD_DELETE http_method_delete, "DELETE"
90 #define HTTP_METHOD_TRACE http_method_trace, "TRACE"
91 #define HTTP_METHOD_CONNECT http_method_connect, "CONNECT"
110 typedef msg_numeric_t http_age_t;
112 typedef msg_auth_info_t http_authentication_info_t;
113 typedef msg_auth_t http_authorization_t;
120 typedef msg_generic_t http_content_md5_t;
124 typedef msg_generic_t http_etag_t;
125 typedef msg_generic_t http_expect_t;
127 typedef msg_generic_t http_from_t;
137 typedef msg_generic_t http_mime_version_t;
139 typedef msg_auth_t http_proxy_authenticate_t;
140 typedef msg_auth_t http_proxy_authorization_t;
144 typedef msg_generic_t http_server_t;
149 typedef msg_generic_t http_user_agent_t;
153 typedef msg_auth_t http_www_authenticate_t;
181 http_error_t *rq_next;
191 http_error_t *st_next;
192 char const *st_version;
194 char const *st_phrase;
212 http_error_t *cr_next;
221 http_error_t *d_next;
228 http_error_t *h_next;
236 http_error_t *ifr_next;
244 http_error_t *loc_next;
251 http_error_t *mf_next;
252 unsigned long mf_count;
259 http_error_t *rng_next;
260 char const *rng_unit;
261 char const **rng_specs;
285 char const *v_version;
288 char const *v_comment;
295 msg_param_t
const *c_params;
296 char const *c_version;
298 char const *c_domain;
306 msg_param_t
const *sc_params;
308 char const *sc_version;
309 char const *sc_domain;
311 char const *sc_comment;
312 char const *sc_max_age;
410 msg_auth_t sh_auth[1];
411 msg_generic_t sh_generic[1];
412 msg_numeric_t sh_numeric[1];
416 http_error_t sh_error[1];
417 http_unknown_t sh_unknown[1];
418 http_separator_t sh_separator[1];
419 http_payload_t sh_payload[1];
424 http_from_t sh_from[1];
426 http_connection_t sh_connection[1];
428 http_accept_t sh_accept[1];
429 http_accept_charset_t sh_accept_charset[1];
430 http_accept_encoding_t sh_accept_encoding[1];
431 http_accept_language_t sh_accept_language[1];
432 http_accept_ranges_t sh_accept_ranges[1];
433 http_allow_t sh_allow[1];
436 http_authentication_info_t sh_authentication_info[1];
437 http_authorization_t sh_authorization[1];
438 http_www_authenticate_t sh_www_authenticate[1];
439 http_proxy_authenticate_t sh_proxy_authenticate[1];
440 http_proxy_authorization_t sh_proxy_authorization[1];
442 http_age_t sh_age[1];
443 http_cache_control_t sh_cache_control[1];
445 http_expires_t sh_expires[1];
446 http_if_match_t sh_if_match[1];
447 http_if_modified_since_t sh_if_modified_since[1];
448 http_if_none_match_t sh_if_none_match[1];
450 http_if_unmodified_since_t sh_if_unmodified_since[1];
452 http_etag_t sh_etag[1];
453 http_expect_t sh_expect[1];
454 http_last_modified_t sh_last_modified[1];
457 http_pragma_t sh_pragma[1];
460 http_trailer_t sh_trailer[1];
461 http_upgrade_t sh_upgrade[1];
462 http_vary_t sh_vary[1];
463 http_warning_t sh_warning[1];
465 http_user_agent_t sh_user_agent[1];
466 http_server_t sh_server[1];
468 http_mime_version_t sh_mime_version[1];
469 http_content_language_t sh_content_language[1];
470 http_content_location_t sh_content_location[1];
471 http_content_md5_t sh_content_md5[1];
473 http_content_encoding_t sh_content_encoding[1];
474 http_transfer_encoding_t sh_transfer_encoding[1];
475 http_content_type_t sh_content_type[1];
476 http_content_length_t sh_content_length[1];