libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 7138f3524c1cf4660c2a990e9cd0ddd10816ea88
parent e1f5f53a5f57d5be618dc22f1d6d210509fae36a
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun, 20 Sep 2020 22:12:19 +0300

Updated HTTP headers names, status codes and methods

Diffstat:
Msrc/include/microhttpd.h | 20+++++++++++++++++---
Msrc/microhttpd/reason_phrase.c | 198++++++++++++++++++++++++++++++++++++++++----------------------------------------
2 files changed, 116 insertions(+), 102 deletions(-)

diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h @@ -539,7 +539,7 @@ MHD_get_reason_phrase_for (unsigned int code); * @defgroup headers HTTP headers * These are the standard headers found in HTTP requests and responses. * See: http://www.iana.org/assignments/message-headers/message-headers.xml - * Registry export date: 2019-06-09 + * Registry export date: 2020-09-20 * @{ */ @@ -646,6 +646,8 @@ MHD_get_reason_phrase_for (unsigned int code); #define MHD_HTTP_HEADER_A_IM "A-IM" /* No category. RFC4229 */ #define MHD_HTTP_HEADER_ACCEPT_ADDITIONS "Accept-Additions" +/* Experimental. RFC-ietf-httpbis-client-hints-15, Section 3.1 */ +#define MHD_HTTP_HEADER_ACCEPT_CH "Accept-CH" /* Informational. RFC7089 */ #define MHD_HTTP_HEADER_ACCEPT_DATETIME "Accept-Datetime" /* No category. RFC4229 */ @@ -684,6 +686,10 @@ MHD_get_reason_phrase_for (unsigned int code); #define MHD_HTTP_HEADER_CALDAV_TIMEZONES "CalDAV-Timezones" /* Standard. RFC8586 */ #define MHD_HTTP_HEADER_CDN_LOOP "CDN-Loop" +/* Standard. RFC8739, Section 3.3 */ +#define MHD_HTTP_HEADER_CERT_NOT_AFTER "Cert-Not-After" +/* Standard. RFC8739, Section 3.3 */ +#define MHD_HTTP_HEADER_CERT_NOT_BEFORE "Cert-Not-Before" /* Obsoleted. RFC2068; RFC2616 */ #define MHD_HTTP_HEADER_CONTENT_BASE "Content-Base" /* Standard. RFC6266 */ @@ -759,6 +765,14 @@ MHD_get_reason_phrase_for (unsigned int code); #define MHD_HTTP_HEADER_METER "Meter" /* No category. RFC4229 */ #define MHD_HTTP_HEADER_NEGOTIATE "Negotiate" +/* Standard. OData Version 4.01 Part 1: Protocol; OASIS; Chet_Ensign */ +#define MHD_HTTP_HEADER_ODATA_ENTITYID "OData-EntityId" +/* Standard. OData Version 4.01 Part 1: Protocol; OASIS; Chet_Ensign */ +#define MHD_HTTP_HEADER_ODATA_ISOLATION "OData-Isolation" +/* Standard. OData Version 4.01 Part 1: Protocol; OASIS; Chet_Ensign */ +#define MHD_HTTP_HEADER_ODATA_MAXVERSION "OData-MaxVersion" +/* Standard. OData Version 4.01 Part 1: Protocol; OASIS; Chet_Ensign */ +#define MHD_HTTP_HEADER_ODATA_VERSION "OData-Version" /* No category. RFC4229 */ #define MHD_HTTP_HEADER_OPT "Opt" /* Experimental. RFC8053, Section 3 */ @@ -767,7 +781,7 @@ MHD_get_reason_phrase_for (unsigned int code); #define MHD_HTTP_HEADER_ORDERING_TYPE "Ordering-Type" /* Standard. RFC6454 */ #define MHD_HTTP_HEADER_ORIGIN "Origin" -/* Standard. RFC-ietf-core-object-security-16, Section 11.1 */ +/* Standard. RFC8613, Section 11.1 */ #define MHD_HTTP_HEADER_OSCORE "OSCORE" /* Standard. RFC4918 */ #define MHD_HTTP_HEADER_OVERWRITE "Overwrite" @@ -893,7 +907,7 @@ MHD_get_reason_phrase_for (unsigned int code); * @defgroup methods HTTP methods * HTTP methods (as strings). * See: http://www.iana.org/assignments/http-methods/http-methods.xml - * Registry export date: 2019-06-09 + * Registry export date: 2020-09-20 * @{ */ diff --git a/src/microhttpd/reason_phrase.c b/src/microhttpd/reason_phrase.c @@ -36,121 +36,121 @@ static const char *const invalid_hundred[] = { }; static const char *const one_hundred[] = { - /* 100 */ "Continue" /* RFC7231, Section 6.2.1 */, - /* 101 */ "Switching Protocols" /* RFC7231, Section 6.2.2 */, - /* 102 */ "Processing" /* RFC2518 */, + /* 100 */ "Continue", /* RFC7231, Section 6.2.1 */ + /* 101 */ "Switching Protocols", /* RFC7231, Section 6.2.2 */ + /* 102 */ "Processing", /* RFC2518 */ /* 103 */ "Early Hints" /* RFC8297 */ }; static const char *const two_hundred[] = { - /* 200 */ "OK" /* RFC7231, Section 6.3.1 */, - /* 201 */ "Created" /* RFC7231, Section 6.3.2 */, - /* 202 */ "Accepted" /* RFC7231, Section 6.3.3 */, - /* 203 */ "Non-Authoritative Information" /* RFC7231, Section 6.3.4 */, - /* 204 */ "No Content" /* RFC7231, Section 6.3.5 */, - /* 205 */ "Reset Content" /* RFC7231, Section 6.3.6 */, - /* 206 */ "Partial Content" /* RFC7233, Section 4.1 */, - /* 207 */ "Multi-Status" /* RFC4918 */, - /* 208 */ "Already Reported" /* RFC5842 */, - /* 209 */ "Unknown" /* Not used */, - /* 210 */ "Unknown" /* Not used */, - /* 211 */ "Unknown" /* Not used */, - /* 212 */ "Unknown" /* Not used */, - /* 213 */ "Unknown" /* Not used */, - /* 214 */ "Unknown" /* Not used */, - /* 215 */ "Unknown" /* Not used */, - /* 216 */ "Unknown" /* Not used */, - /* 217 */ "Unknown" /* Not used */, - /* 218 */ "Unknown" /* Not used */, - /* 219 */ "Unknown" /* Not used */, - /* 220 */ "Unknown" /* Not used */, - /* 221 */ "Unknown" /* Not used */, - /* 222 */ "Unknown" /* Not used */, - /* 223 */ "Unknown" /* Not used */, - /* 224 */ "Unknown" /* Not used */, - /* 225 */ "Unknown" /* Not used */, + /* 200 */ "OK", /* RFC7231, Section 6.3.1 */ + /* 201 */ "Created", /* RFC7231, Section 6.3.2 */ + /* 202 */ "Accepted", /* RFC7231, Section 6.3.3 */ + /* 203 */ "Non-Authoritative Information", /* RFC7231, Section 6.3.4 */ + /* 204 */ "No Content", /* RFC7231, Section 6.3.5 */ + /* 205 */ "Reset Content", /* RFC7231, Section 6.3.6 */ + /* 206 */ "Partial Content", /* RFC7233, Section 4.1 */ + /* 207 */ "Multi-Status", /* RFC4918 */ + /* 208 */ "Already Reported", /* RFC5842 */ + /* 209 */ "Unknown", /* Not used */ + /* 210 */ "Unknown", /* Not used */ + /* 211 */ "Unknown", /* Not used */ + /* 212 */ "Unknown", /* Not used */ + /* 213 */ "Unknown", /* Not used */ + /* 214 */ "Unknown", /* Not used */ + /* 215 */ "Unknown", /* Not used */ + /* 216 */ "Unknown", /* Not used */ + /* 217 */ "Unknown", /* Not used */ + /* 218 */ "Unknown", /* Not used */ + /* 219 */ "Unknown", /* Not used */ + /* 220 */ "Unknown", /* Not used */ + /* 221 */ "Unknown", /* Not used */ + /* 222 */ "Unknown", /* Not used */ + /* 223 */ "Unknown", /* Not used */ + /* 224 */ "Unknown", /* Not used */ + /* 225 */ "Unknown", /* Not used */ /* 226 */ "IM Used" /* RFC3229 */ }; static const char *const three_hundred[] = { - /* 300 */ "Multiple Choices" /* RFC7231, Section 6.4.1 */, - /* 301 */ "Moved Permanently" /* RFC7231, Section 6.4.2 */, - /* 302 */ "Found" /* RFC7231, Section 6.4.3 */, - /* 303 */ "See Other" /* RFC7231, Section 6.4.4 */, - /* 304 */ "Not Modified" /* RFC7232, Section 4.1 */, - /* 305 */ "Use Proxy" /* RFC7231, Section 6.4.5 */, - /* 306 */ "Switch Proxy" /* Not used! RFC7231, Section 6.4.6 */, - /* 307 */ "Temporary Redirect" /* RFC7231, Section 6.4.7 */, + /* 300 */ "Multiple Choices", /* RFC7231, Section 6.4.1 */ + /* 301 */ "Moved Permanently", /* RFC7231, Section 6.4.2 */ + /* 302 */ "Found", /* RFC7231, Section 6.4.3 */ + /* 303 */ "See Other", /* RFC7231, Section 6.4.4 */ + /* 304 */ "Not Modified", /* RFC7232, Section 4.1 */ + /* 305 */ "Use Proxy", /* RFC7231, Section 6.4.5 */ + /* 306 */ "Switch Proxy", /* Not used! RFC7231, Section 6.4.6 */ + /* 307 */ "Temporary Redirect", /* RFC7231, Section 6.4.7 */ /* 308 */ "Permanent Redirect" /* RFC7538 */ }; static const char *const four_hundred[] = { - /* 400 */ "Bad Request" /* RFC7231, Section 6.5.1 */, - /* 401 */ "Unauthorized" /* RFC7235, Section 3.1 */, - /* 402 */ "Payment Required" /* RFC7231, Section 6.5.2 */, - /* 403 */ "Forbidden" /* RFC7231, Section 6.5.3 */, - /* 404 */ "Not Found" /* RFC7231, Section 6.5.4 */, - /* 405 */ "Method Not Allowed" /* RFC7231, Section 6.5.5 */, - /* 406 */ "Not Acceptable" /* RFC7231, Section 6.5.6 */, - /* 407 */ "Proxy Authentication Required" /* RFC7235, Section 3.2 */, - /* 408 */ "Request Timeout" /* RFC7231, Section 6.5.7 */, - /* 409 */ "Conflict" /* RFC7231, Section 6.5.8 */, - /* 410 */ "Gone" /* RFC7231, Section 6.5.9 */, - /* 411 */ "Length Required" /* RFC7231, Section 6.5.10 */, - /* 412 */ "Precondition Failed" /* RFC7232, Section 4.2; RFC8144, Section 3.2 */, - /* 413 */ "Payload Too Large" /* RFC7231, Section 6.5.11 */, - /* 414 */ "URI Too Long" /* RFC7231, Section 6.5.12 */, - /* 415 */ "Unsupported Media Type" /* RFC7231, Section 6.5.13; RFC7694, Section 3 */, - /* 416 */ "Range Not Satisfiable" /* RFC7233, Section 4.4 */, - /* 417 */ "Expectation Failed" /* RFC7231, Section 6.5.14 */, - /* 418 */ "Unknown" /* Not used */, - /* 419 */ "Unknown" /* Not used */, - /* 420 */ "Unknown" /* Not used */, - /* 421 */ "Misdirected Request" /* RFC7540, Section 9.1.2 */, - /* 422 */ "Unprocessable Entity" /* RFC4918 */, - /* 423 */ "Locked" /* RFC4918 */, - /* 424 */ "Failed Dependency" /* RFC4918 */, - /* 425 */ "Too Early" /* RFC8470 */, - /* 426 */ "Upgrade Required" /* RFC7231, Section 6.5.15 */, - /* 427 */ "Unknown" /* Not used */, - /* 428 */ "Precondition Required" /* RFC6585 */, - /* 429 */ "Too Many Requests" /* RFC6585 */, - /* 430 */ "Unknown" /* Not used */, - /* 431 */ "Request Header Fields Too Large" /* RFC6585 */, - /* 432 */ "Unknown" /* Not used */, - /* 433 */ "Unknown" /* Not used */, - /* 434 */ "Unknown" /* Not used */, - /* 435 */ "Unknown" /* Not used */, - /* 436 */ "Unknown" /* Not used */, - /* 437 */ "Unknown" /* Not used */, - /* 438 */ "Unknown" /* Not used */, - /* 439 */ "Unknown" /* Not used */, - /* 440 */ "Unknown" /* Not used */, - /* 441 */ "Unknown" /* Not used */, - /* 442 */ "Unknown" /* Not used */, - /* 443 */ "Unknown" /* Not used */, - /* 444 */ "Unknown" /* Not used */, - /* 445 */ "Unknown" /* Not used */, - /* 446 */ "Unknown" /* Not used */, - /* 447 */ "Unknown" /* Not used */, - /* 448 */ "Unknown" /* Not used */, - /* 449 */ "Reply With" /* MS IIS extension */, - /* 450 */ "Blocked by Windows Parental Controls" /* MS extension */, + /* 400 */ "Bad Request", /* RFC7231, Section 6.5.1 */ + /* 401 */ "Unauthorized", /* RFC7235, Section 3.1 */ + /* 402 */ "Payment Required", /* RFC7231, Section 6.5.2 */ + /* 403 */ "Forbidden", /* RFC7231, Section 6.5.3 */ + /* 404 */ "Not Found", /* RFC7231, Section 6.5.4 */ + /* 405 */ "Method Not Allowed", /* RFC7231, Section 6.5.5 */ + /* 406 */ "Not Acceptable", /* RFC7231, Section 6.5.6 */ + /* 407 */ "Proxy Authentication Required", /* RFC7235, Section 3.2 */ + /* 408 */ "Request Timeout", /* RFC7231, Section 6.5.7 */ + /* 409 */ "Conflict", /* RFC7231, Section 6.5.8 */ + /* 410 */ "Gone", /* RFC7231, Section 6.5.9 */ + /* 411 */ "Length Required", /* RFC7231, Section 6.5.10 */ + /* 412 */ "Precondition Failed", /* RFC7232, Section 4.2; RFC8144, Section 3.2 */ + /* 413 */ "Payload Too Large", /* RFC7231, Section 6.5.11 */ + /* 414 */ "URI Too Long", /* RFC7231, Section 6.5.12 */ + /* 415 */ "Unsupported Media Type", /* RFC7231, Section 6.5.13; RFC7694, Section 3 */ + /* 416 */ "Range Not Satisfiable", /* RFC7233, Section 4.4 */ + /* 417 */ "Expectation Failed", /* RFC7231, Section 6.5.14 */ + /* 418 */ "Unknown", /* Not used */ + /* 419 */ "Unknown", /* Not used */ + /* 420 */ "Unknown", /* Not used */ + /* 421 */ "Misdirected Request", /* RFC7540, Section 9.1.2 */ + /* 422 */ "Unprocessable Entity", /* RFC4918 */ + /* 423 */ "Locked", /* RFC4918 */ + /* 424 */ "Failed Dependency", /* RFC4918 */ + /* 425 */ "Too Early", /* RFC8470 */ + /* 426 */ "Upgrade Required", /* RFC7231, Section 6.5.15 */ + /* 427 */ "Unknown", /* Not used */ + /* 428 */ "Precondition Required", /* RFC6585 */ + /* 429 */ "Too Many Requests", /* RFC6585 */ + /* 430 */ "Unknown", /* Not used */ + /* 431 */ "Request Header Fields Too Large", /* RFC6585 */ + /* 432 */ "Unknown", /* Not used */ + /* 433 */ "Unknown", /* Not used */ + /* 434 */ "Unknown", /* Not used */ + /* 435 */ "Unknown", /* Not used */ + /* 436 */ "Unknown", /* Not used */ + /* 437 */ "Unknown", /* Not used */ + /* 438 */ "Unknown", /* Not used */ + /* 439 */ "Unknown", /* Not used */ + /* 440 */ "Unknown", /* Not used */ + /* 441 */ "Unknown", /* Not used */ + /* 442 */ "Unknown", /* Not used */ + /* 443 */ "Unknown", /* Not used */ + /* 444 */ "Unknown", /* Not used */ + /* 445 */ "Unknown", /* Not used */ + /* 446 */ "Unknown", /* Not used */ + /* 447 */ "Unknown", /* Not used */ + /* 448 */ "Unknown", /* Not used */ + /* 449 */ "Reply With", /* MS IIS extension */ + /* 450 */ "Blocked by Windows Parental Controls", /* MS extension */ /* 451 */ "Unavailable For Legal Reasons" /* RFC7725 */ }; static const char *const five_hundred[] = { - /* 500 */ "Internal Server Error" /* RFC7231, Section 6.6.1 */, - /* 501 */ "Not Implemented" /* RFC7231, Section 6.6.2 */, - /* 502 */ "Bad Gateway" /* RFC7231, Section 6.6.3 */, - /* 503 */ "Service Unavailable" /* RFC7231, Section 6.6.4 */, - /* 504 */ "Gateway Timeout" /* RFC7231, Section 6.6.5 */, - /* 505 */ "HTTP Version Not Supported" /* RFC7231, Section 6.6.6 */, - /* 506 */ "Variant Also Negotiates" /* RFC2295 */, - /* 507 */ "Insufficient Storage" /* RFC4918 */, - /* 508 */ "Loop Detected" /* RFC5842 */, - /* 509 */ "Bandwidth Limit Exceeded" /* Apache extension */, - /* 510 */ "Not Extended" /* RFC2774 */, + /* 500 */ "Internal Server Error", /* RFC7231, Section 6.6.1 */ + /* 501 */ "Not Implemented", /* RFC7231, Section 6.6.2 */ + /* 502 */ "Bad Gateway", /* RFC7231, Section 6.6.3 */ + /* 503 */ "Service Unavailable", /* RFC7231, Section 6.6.4 */ + /* 504 */ "Gateway Timeout", /* RFC7231, Section 6.6.5 */ + /* 505 */ "HTTP Version Not Supported", /* RFC7231, Section 6.6.6 */ + /* 506 */ "Variant Also Negotiates", /* RFC2295 */ + /* 507 */ "Insufficient Storage", /* RFC4918 */ + /* 508 */ "Loop Detected", /* RFC5842 */ + /* 509 */ "Bandwidth Limit Exceeded", /* Apache extension */ + /* 510 */ "Not Extended", /* RFC2774 */ /* 511 */ "Network Authentication Required" /* RFC6585 */ };