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];
http_off_t cr_first
First-byte-pos.
Definition: http.h:213
http_age_t * http_age
Age.
Definition: http.h:343
Invalid method name.
Definition: http.h:70
TRACE.
Definition: http.h:78
http_separator_t * http_separator
Separator between message and payload.
Definition: http.h:392
http_accept_ranges_t * http_accept_ranges
Accept-Ranges.
Definition: http.h:339
http_error_t * http_error
Erroneous headers.
Definition: http.h:329
http_via_t * http_via
Via.
Definition: http.h:373
http_last_modified_t * http_last_modified
Last-Modified.
Definition: http.h:357
http_content_type_t * http_content_type
Content-Type.
Definition: http.h:388
http_proxy_authorization_t * http_proxy_authorization
Proxy-Authorization.
Definition: http.h:362
msg_generic_t msg_content_location_t
Via.
Definition: http.h:282
http_if_match_t * http_if_match
If-Match.
Definition: http.h:352
CONNECT.
Definition: http.h:79
http_server_t * http_server
Server.
Definition: http.h:366
http_if_modified_since_t * http_if_modified_since
If-Modified-Since.
Definition: http.h:353
Location, Referer.
Definition: http.h:242
http_status_t * http_status
Status line.
Definition: http.h:332
int http_flags
Flags.
Definition: http.h:328
http_te_t * http_te
TE.
Definition: http.h:367
http_content_language_t * http_content_language
Content-Language.
Definition: http.h:383
http_expires_t * http_expires
Expires.
Definition: http.h:349
msg_error_t http_error_t
Erroneous header.
Definition: http.h:161
Range.
Definition: http.h:256
http_pragma_t * http_pragma
Pragma.
Definition: http.h:360
http_accept_encoding_t * http_accept_encoding
Accept-Encoding.
Definition: http.h:337
http_warning_t * http_warning
Warning.
Definition: http.h:374
unsigned long http_time_t
Time in seconds since 01-Jan-1900.
Definition: http.h:169
http_cache_control_t * http_cache_control
Cache-Control.
Definition: http.h:344
DELETE.
Definition: http.h:77
HTTP request line.
Definition: http.h:179
Cookie.
Definition: http.h:292
char const * rq_version
URL.
Definition: http.h:185
HTTP message object.
Definition: http.h:323
http_if_none_match_t * http_if_none_match
If-None-Match.
Definition: http.h:354
msg_common_t http_common[1]
For recursive inclusion.
Definition: http.h:324
http_date_t * http_date
Date.
Definition: http.h:346
http_vary_t * http_vary
Vary.
Definition: http.h:372
char const * te_q
Q-value.
Definition: http.h:278
POST.
Definition: http.h:73
HEAD.
Definition: http.h:74
Date, Expires, If-Modified-Since, If-Unmodified-Since, Last-Modified.
Definition: http.h:219
http_cookie_t * http_cookie
Cookie.
Definition: http.h:379
http_etag_t * http_etag
ETag.
Definition: http.h:347
http_range_t * http_range
Range.
Definition: http.h:363
http_request_t * http_request
Request line.
Definition: http.h:331
msg_accept_any_t msg_accept_language_t
http_accept_language_t * http_accept_language
Accept-Language.
Definition: http.h:338
http_www_authenticate_t * http_www_authenticate
WWW-Authenticate.
Definition: http.h:375
Retry-After.
Definition: http.h:265
msg_common_t ra_common[1]
Common fragment info.
Definition: http.h:266
http_content_location_t * http_content_location
Content-Location.
Definition: http.h:385
http_transfer_encoding_t * http_transfer_encoding
Transfer-Encoding.
Definition: http.h:369
http_payload_t * http_payload
Message entity-body.
Definition: http.h:394
msg_separator_t http_separator_t
Separator line between headers and message contents.
Definition: http.h:165
PUT.
Definition: http.h:76
http_proxy_connection_t * http_proxy_connection
Proxy-Connection.
Definition: http.h:377
http_method_t
IDs for well-known HTTP methods.
Definition: http.h:69
http_proxy_authenticate_t * http_proxy_authenticate
Proxy-Authenticate.
Definition: http.h:361
msg_accept_any_t msg_accept_encoding_t
http_location_t * http_location
Location.
Definition: http.h:358
char const * ifr_tag
Tag.
Definition: http.h:237
http_accept_charset_t * http_accept_charset
Accept-Charset.
Definition: http.h:336
http_date_t http_if_unmodified_since_t
The structure http_if_unmodified_since_t contains representation of If-Unmodified-Since header...
Definition: http.h:133
Host.
Definition: http.h:226
http_error_t * ra_next
Link to next (dummy)
Definition: http.h:267
http_content_md5_t * http_content_md5
Content-MD5.
Definition: http.h:386
http_authorization_t * http_authorization
Authorization.
Definition: http.h:342
Set-Cookie.
Definition: http.h:303
http_content_length_t * http_content_length
Content-Length.
Definition: http.h:384
Unknown method, use method_name.
Definition: http.h:71
msg_param_t const * ai_params
List of authentication info.
Definition: http.h:206
http_header_t * http_unknown
Unknown headers.
Definition: http.h:391
http_date_t http_if_modified_since_t
The structure http_if_modified_since_t contains representation of If-Modified-Since header...
Definition: http.h:130
If-Range.
Definition: http.h:234
http_te_t * te_next
Link to next t-coding.
Definition: http.h:275
msg_error_t * ai_next
Dummy link to next.
Definition: http.h:205
http_referer_t * http_referer
Referer.
Definition: http.h:364
http_allow_t * http_allow
Allow.
Definition: http.h:340
msg_common_t ai_common[1]
Common fragment info.
Definition: http.h:204
http_date_t http_last_modified_t
The structure http_last_modified_t contains representation of Last-Modified header.
Definition: http.h:134
http_accept_t * http_accept
Accept.
Definition: http.h:335
char const * te_extension
Transfer-Extension.
Definition: http.h:276
void * http_user
Application data.
Definition: http.h:326
http_if_unmodified_since_t * http_if_unmodified_since
If-Unmodified-Since.
Definition: http.h:356
http_content_encoding_t * http_content_encoding
Content-Encoding.
Definition: http.h:382
http_trailer_t * http_trailer
Trailer.
Definition: http.h:368
msg_pub_t * http_next
Dummy pointer to next part.
Definition: http.h:325
OPTIONS.
Definition: http.h:75
msg_param_t const * te_params
List of parameters.
Definition: http.h:277
HTTP status line.
Definition: http.h:189
http_if_range_t * http_if_range
If-Range.
Definition: http.h:355
http_content_range_t * http_content_range
Content-Range.
Definition: http.h:387
http_time_t ra_date
When to retry.
Definition: http.h:268
http_host_t * http_host
Host.
Definition: http.h:351
msg_common_t te_common[1]
Common fragment info.
Definition: http.h:274
http_time_t ra_delta
Seconds to before retry.
Definition: http.h:269
http_connection_t * http_connection
Connection.
Definition: http.h:345
http_max_forwards_t * http_max_forwards
Max-Forwards.
Definition: http.h:359
unsigned http_size
Size of this structure.
Definition: http.h:327
unsigned long http_off_t
Range offset.
Definition: http.h:171
http_from_t * http_from
From.
Definition: http.h:350
http_off_t cr_length
Instance-length.
Definition: http.h:215
http_date_t http_expires_t
The structure http_expires_t contains representation of Expires header.
Definition: http.h:126
msg_generic_t http_unknown_t
Unknown header.
Definition: http.h:163
msg_accept_any_t msg_accept_charset_t
url_t rq_url[1]
Method name.
Definition: http.h:184
http_time_t ifr_time
Timestamp.
Definition: http.h:238
GET.
Definition: http.h:72
msg_payload_t http_payload_t
Entity-body.
Definition: http.h:167
http_upgrade_t * http_upgrade
Upgrade.
Definition: http.h:370
char const * rq_method_name
Method enum.
Definition: http.h:183
Content-Range.
Definition: http.h:210
Structure for Authentication-Info header.
Definition: http.h:202
http_expect_t * http_expect
Expect.
Definition: http.h:348
http_user_agent_t * http_user_agent
User-Agent.
Definition: http.h:371
TE.
Definition: http.h:273
http_off_t cr_last
Last-byte-pos.
Definition: http.h:214
http_time_t d_time
Seconds since Jan 1, 1900.
Definition: http.h:222
http_set_cookie_t * http_set_cookie
Set-Cookie.
Definition: http.h:378
http_retry_after_t * http_retry_after
Retry-After.
Definition: http.h:365
http_mime_version_t * http_mime_version
MIME-Version.
Definition: http.h:381
http_authentication_info_t * http_authentication_info
Authentication-Info.
Definition: http.h:341
Max-Forwards.
Definition: http.h:249