aboutsummaryrefslogtreecommitdiff
path: root/src/include/microhttpd2.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/microhttpd2.h')
-rw-r--r--src/include/microhttpd2.h398
1 files changed, 398 insertions, 0 deletions
diff --git a/src/include/microhttpd2.h b/src/include/microhttpd2.h
index f4b39fbe..bb65f534 100644
--- a/src/include/microhttpd2.h
+++ b/src/include/microhttpd2.h
@@ -520,7 +520,28 @@ enum MHD_StatusCode
520 */ 520 */
521 MHD_SC_THREAD_POOL_LAUNCH_FAILURE = 50031, 521 MHD_SC_THREAD_POOL_LAUNCH_FAILURE = 50031,
522 522
523 /**
524 * We failed to add a socket to the epoll() set.
525 */
526 MHD_SC_EPOLL_CTL_ADD_FAILED = 50032,
527
528 /**
529 * We failed to start a thread.
530 */
531 MHD_SC_THREAD_LAUNCH_FAILURE = 50033,
523 532
533 /**
534 * We failed to create control socket for the epoll().
535 */
536 MHD_SC_EPOLL_CTL_CREATE_FAILED = 50034,
537
538 /**
539 * We failed to configure control socket for the epoll()
540 * to be non-inheritable.
541 */
542 MHD_SC_EPOLL_CTL_CONFIGURE_NOINHERIT_FAILED = 50035,
543
544
524}; 545};
525 546
526 547
@@ -542,6 +563,12 @@ struct MHD_Action;
542 * add additional methods (as per IANA registry), thus even if the API 563 * add additional methods (as per IANA registry), thus even if the API
543 * returns "unknown" today, it may return a method-specific header in 564 * returns "unknown" today, it may return a method-specific header in
544 * the future! 565 * the future!
566 *
567 * @defgroup methods HTTP methods
568 * HTTP methods (as strings).
569 * See: http://www.iana.org/assignments/http-methods/http-methods.xml
570 * Registry Version 2015-05-19
571 * @{
545 */ 572 */
546enum MHD_Method 573enum MHD_Method
547{ 574{
@@ -553,31 +580,37 @@ enum MHD_Method
553 580
554 /** 581 /**
555 * "OPTIONS" method. 582 * "OPTIONS" method.
583 * Safe. Idempotent. RFC7231, Section 4.3.7.
556 */ 584 */
557 MHD_METHOD_OPTIONS = 1, 585 MHD_METHOD_OPTIONS = 1,
558 586
559 /** 587 /**
560 * "GET" method. 588 * "GET" method.
589 * Safe. Idempotent. RFC7231, Section 4.3.1.
561 */ 590 */
562 MHD_METHOD_GET = 2, 591 MHD_METHOD_GET = 2,
563 592
564 /** 593 /**
565 * "HEAD" method. 594 * "HEAD" method.
595 * Safe. Idempotent. RFC7231, Section 4.3.2.
566 */ 596 */
567 MHD_METHOD_HEAD = 3, 597 MHD_METHOD_HEAD = 3,
568 598
569 /** 599 /**
570 * "POST" method. 600 * "POST" method.
601 * Not safe. Not idempotent. RFC7231, Section 4.3.3.
571 */ 602 */
572 MHD_METHOD_POST = 4, 603 MHD_METHOD_POST = 4,
573 604
574 /** 605 /**
575 * "PUT" method. 606 * "PUT" method.
607 * Not safe. Idempotent. RFC7231, Section 4.3.4.
576 */ 608 */
577 MHD_METHOD_PUT = 5, 609 MHD_METHOD_PUT = 5,
578 610
579 /** 611 /**
580 * "DELETE" method. 612 * "DELETE" method.
613 * Not safe. Idempotent. RFC7231, Section 4.3.5.
581 */ 614 */
582 MHD_METHOD_DELETE = 6, 615 MHD_METHOD_DELETE = 6,
583 616
@@ -746,6 +779,339 @@ enum MHD_Method
746 779
747}; 780};
748 781
782/** @} */ /* end of group methods */
783
784
785/**
786 * @defgroup postenc HTTP POST encodings
787 * See also: http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4
788 * @{
789 */
790#define MHD_HTTP_POST_ENCODING_FORM_URLENCODED "application/x-www-form-urlencoded"
791#define MHD_HTTP_POST_ENCODING_MULTIPART_FORMDATA "multipart/form-data"
792
793/** @} */ /* end of group postenc */
794
795
796
797/**
798 * @defgroup headers HTTP headers
799 * These are the standard headers found in HTTP requests and responses.
800 * See: http://www.iana.org/assignments/message-headers/message-headers.xml
801 * Registry Version 2017-01-27
802 * @{
803 */
804
805/* Main HTTP headers. */
806/* Standard. RFC7231, Section 5.3.2 */
807#define MHD_HTTP_HEADER_ACCEPT "Accept"
808/* Standard. RFC7231, Section 5.3.3 */
809#define MHD_HTTP_HEADER_ACCEPT_CHARSET "Accept-Charset"
810/* Standard. RFC7231, Section 5.3.4; RFC7694, Section 3 */
811#define MHD_HTTP_HEADER_ACCEPT_ENCODING "Accept-Encoding"
812/* Standard. RFC7231, Section 5.3.5 */
813#define MHD_HTTP_HEADER_ACCEPT_LANGUAGE "Accept-Language"
814/* Standard. RFC7233, Section 2.3 */
815#define MHD_HTTP_HEADER_ACCEPT_RANGES "Accept-Ranges"
816/* Standard. RFC7234, Section 5.1 */
817#define MHD_HTTP_HEADER_AGE "Age"
818/* Standard. RFC7231, Section 7.4.1 */
819#define MHD_HTTP_HEADER_ALLOW "Allow"
820/* Standard. RFC7235, Section 4.2 */
821#define MHD_HTTP_HEADER_AUTHORIZATION "Authorization"
822/* Standard. RFC7234, Section 5.2 */
823#define MHD_HTTP_HEADER_CACHE_CONTROL "Cache-Control"
824/* Reserved. RFC7230, Section 8.1 */
825#define MHD_HTTP_HEADER_CLOSE "Close"
826/* Standard. RFC7230, Section 6.1 */
827#define MHD_HTTP_HEADER_CONNECTION "Connection"
828/* Standard. RFC7231, Section 3.1.2.2 */
829#define MHD_HTTP_HEADER_CONTENT_ENCODING "Content-Encoding"
830/* Standard. RFC7231, Section 3.1.3.2 */
831#define MHD_HTTP_HEADER_CONTENT_LANGUAGE "Content-Language"
832/* Standard. RFC7230, Section 3.3.2 */
833#define MHD_HTTP_HEADER_CONTENT_LENGTH "Content-Length"
834/* Standard. RFC7231, Section 3.1.4.2 */
835#define MHD_HTTP_HEADER_CONTENT_LOCATION "Content-Location"
836/* Standard. RFC7233, Section 4.2 */
837#define MHD_HTTP_HEADER_CONTENT_RANGE "Content-Range"
838/* Standard. RFC7231, Section 3.1.1.5 */
839#define MHD_HTTP_HEADER_CONTENT_TYPE "Content-Type"
840/* Standard. RFC7231, Section 7.1.1.2 */
841#define MHD_HTTP_HEADER_DATE "Date"
842/* Standard. RFC7232, Section 2.3 */
843#define MHD_HTTP_HEADER_ETAG "ETag"
844/* Standard. RFC7231, Section 5.1.1 */
845#define MHD_HTTP_HEADER_EXPECT "Expect"
846/* Standard. RFC7234, Section 5.3 */
847#define MHD_HTTP_HEADER_EXPIRES "Expires"
848/* Standard. RFC7231, Section 5.5.1 */
849#define MHD_HTTP_HEADER_FROM "From"
850/* Standard. RFC7230, Section 5.4 */
851#define MHD_HTTP_HEADER_HOST "Host"
852/* Standard. RFC7232, Section 3.1 */
853#define MHD_HTTP_HEADER_IF_MATCH "If-Match"
854/* Standard. RFC7232, Section 3.3 */
855#define MHD_HTTP_HEADER_IF_MODIFIED_SINCE "If-Modified-Since"
856/* Standard. RFC7232, Section 3.2 */
857#define MHD_HTTP_HEADER_IF_NONE_MATCH "If-None-Match"
858/* Standard. RFC7233, Section 3.2 */
859#define MHD_HTTP_HEADER_IF_RANGE "If-Range"
860/* Standard. RFC7232, Section 3.4 */
861#define MHD_HTTP_HEADER_IF_UNMODIFIED_SINCE "If-Unmodified-Since"
862/* Standard. RFC7232, Section 2.2 */
863#define MHD_HTTP_HEADER_LAST_MODIFIED "Last-Modified"
864/* Standard. RFC7231, Section 7.1.2 */
865#define MHD_HTTP_HEADER_LOCATION "Location"
866/* Standard. RFC7231, Section 5.1.2 */
867#define MHD_HTTP_HEADER_MAX_FORWARDS "Max-Forwards"
868/* Standard. RFC7231, Appendix A.1 */
869#define MHD_HTTP_HEADER_MIME_VERSION "MIME-Version"
870/* Standard. RFC7234, Section 5.4 */
871#define MHD_HTTP_HEADER_PRAGMA "Pragma"
872/* Standard. RFC7235, Section 4.3 */
873#define MHD_HTTP_HEADER_PROXY_AUTHENTICATE "Proxy-Authenticate"
874/* Standard. RFC7235, Section 4.4 */
875#define MHD_HTTP_HEADER_PROXY_AUTHORIZATION "Proxy-Authorization"
876/* Standard. RFC7233, Section 3.1 */
877#define MHD_HTTP_HEADER_RANGE "Range"
878/* Standard. RFC7231, Section 5.5.2 */
879#define MHD_HTTP_HEADER_REFERER "Referer"
880/* Standard. RFC7231, Section 7.1.3 */
881#define MHD_HTTP_HEADER_RETRY_AFTER "Retry-After"
882/* Standard. RFC7231, Section 7.4.2 */
883#define MHD_HTTP_HEADER_SERVER "Server"
884/* Standard. RFC7230, Section 4.3 */
885#define MHD_HTTP_HEADER_TE "TE"
886/* Standard. RFC7230, Section 4.4 */
887#define MHD_HTTP_HEADER_TRAILER "Trailer"
888/* Standard. RFC7230, Section 3.3.1 */
889#define MHD_HTTP_HEADER_TRANSFER_ENCODING "Transfer-Encoding"
890/* Standard. RFC7230, Section 6.7 */
891#define MHD_HTTP_HEADER_UPGRADE "Upgrade"
892/* Standard. RFC7231, Section 5.5.3 */
893#define MHD_HTTP_HEADER_USER_AGENT "User-Agent"
894/* Standard. RFC7231, Section 7.1.4 */
895#define MHD_HTTP_HEADER_VARY "Vary"
896/* Standard. RFC7230, Section 5.7.1 */
897#define MHD_HTTP_HEADER_VIA "Via"
898/* Standard. RFC7235, Section 4.1 */
899#define MHD_HTTP_HEADER_WWW_AUTHENTICATE "WWW-Authenticate"
900/* Standard. RFC7234, Section 5.5 */
901#define MHD_HTTP_HEADER_WARNING "Warning"
902
903/* Additional HTTP headers. */
904/* No category. RFC4229 */
905#define MHD_HTTP_HEADER_A_IM "A-IM"
906/* No category. RFC4229 */
907#define MHD_HTTP_HEADER_ACCEPT_ADDITIONS "Accept-Additions"
908/* Informational. RFC7089 */
909#define MHD_HTTP_HEADER_ACCEPT_DATETIME "Accept-Datetime"
910/* No category. RFC4229 */
911#define MHD_HTTP_HEADER_ACCEPT_FEATURES "Accept-Features"
912/* No category. RFC5789 */
913#define MHD_HTTP_HEADER_ACCEPT_PATCH "Accept-Patch"
914/* Standard. RFC7639, Section 2 */
915#define MHD_HTTP_HEADER_ALPN "ALPN"
916/* Standard. RFC7838 */
917#define MHD_HTTP_HEADER_ALT_SVC "Alt-Svc"
918/* Standard. RFC7838 */
919#define MHD_HTTP_HEADER_ALT_USED "Alt-Used"
920/* No category. RFC4229 */
921#define MHD_HTTP_HEADER_ALTERNATES "Alternates"
922/* No category. RFC4437 */
923#define MHD_HTTP_HEADER_APPLY_TO_REDIRECT_REF "Apply-To-Redirect-Ref"
924/* Experimental. RFC8053, Section 4 */
925#define MHD_HTTP_HEADER_AUTHENTICATION_CONTROL "Authentication-Control"
926/* Standard. RFC7615, Section 3 */
927#define MHD_HTTP_HEADER_AUTHENTICATION_INFO "Authentication-Info"
928/* No category. RFC4229 */
929#define MHD_HTTP_HEADER_C_EXT "C-Ext"
930/* No category. RFC4229 */
931#define MHD_HTTP_HEADER_C_MAN "C-Man"
932/* No category. RFC4229 */
933#define MHD_HTTP_HEADER_C_OPT "C-Opt"
934/* No category. RFC4229 */
935#define MHD_HTTP_HEADER_C_PEP "C-PEP"
936/* No category. RFC4229 */
937#define MHD_HTTP_HEADER_C_PEP_INFO "C-PEP-Info"
938/* Standard. RFC7809, Section 7.1 */
939#define MHD_HTTP_HEADER_CALDAV_TIMEZONES "CalDAV-Timezones"
940/* Obsoleted. RFC2068; RFC2616 */
941#define MHD_HTTP_HEADER_CONTENT_BASE "Content-Base"
942/* Standard. RFC6266 */
943#define MHD_HTTP_HEADER_CONTENT_DISPOSITION "Content-Disposition"
944/* No category. RFC4229 */
945#define MHD_HTTP_HEADER_CONTENT_ID "Content-ID"
946/* No category. RFC4229 */
947#define MHD_HTTP_HEADER_CONTENT_MD5 "Content-MD5"
948/* No category. RFC4229 */
949#define MHD_HTTP_HEADER_CONTENT_SCRIPT_TYPE "Content-Script-Type"
950/* No category. RFC4229 */
951#define MHD_HTTP_HEADER_CONTENT_STYLE_TYPE "Content-Style-Type"
952/* No category. RFC4229 */
953#define MHD_HTTP_HEADER_CONTENT_VERSION "Content-Version"
954/* Standard. RFC6265 */
955#define MHD_HTTP_HEADER_COOKIE "Cookie"
956/* Obsoleted. RFC2965; RFC6265 */
957#define MHD_HTTP_HEADER_COOKIE2 "Cookie2"
958/* Standard. RFC5323 */
959#define MHD_HTTP_HEADER_DASL "DASL"
960/* Standard. RFC4918 */
961#define MHD_HTTP_HEADER_DAV "DAV"
962/* No category. RFC4229 */
963#define MHD_HTTP_HEADER_DEFAULT_STYLE "Default-Style"
964/* No category. RFC4229 */
965#define MHD_HTTP_HEADER_DELTA_BASE "Delta-Base"
966/* Standard. RFC4918 */
967#define MHD_HTTP_HEADER_DEPTH "Depth"
968/* No category. RFC4229 */
969#define MHD_HTTP_HEADER_DERIVED_FROM "Derived-From"
970/* Standard. RFC4918 */
971#define MHD_HTTP_HEADER_DESTINATION "Destination"
972/* No category. RFC4229 */
973#define MHD_HTTP_HEADER_DIFFERENTIAL_ID "Differential-ID"
974/* No category. RFC4229 */
975#define MHD_HTTP_HEADER_DIGEST "Digest"
976/* No category. RFC4229 */
977#define MHD_HTTP_HEADER_EXT "Ext"
978/* Standard. RFC7239 */
979#define MHD_HTTP_HEADER_FORWARDED "Forwarded"
980/* No category. RFC4229 */
981#define MHD_HTTP_HEADER_GETPROFILE "GetProfile"
982/* Experimental. RFC7486, Section 6.1.1 */
983#define MHD_HTTP_HEADER_HOBAREG "Hobareg"
984/* Standard. RFC7540, Section 3.2.1 */
985#define MHD_HTTP_HEADER_HTTP2_SETTINGS "HTTP2-Settings"
986/* No category. RFC4229 */
987#define MHD_HTTP_HEADER_IM "IM"
988/* Standard. RFC4918 */
989#define MHD_HTTP_HEADER_IF "If"
990/* Standard. RFC6638 */
991#define MHD_HTTP_HEADER_IF_SCHEDULE_TAG_MATCH "If-Schedule-Tag-Match"
992/* No category. RFC4229 */
993#define MHD_HTTP_HEADER_KEEP_ALIVE "Keep-Alive"
994/* No category. RFC4229 */
995#define MHD_HTTP_HEADER_LABEL "Label"
996/* No category. RFC5988 */
997#define MHD_HTTP_HEADER_LINK "Link"
998/* Standard. RFC4918 */
999#define MHD_HTTP_HEADER_LOCK_TOKEN "Lock-Token"
1000/* No category. RFC4229 */
1001#define MHD_HTTP_HEADER_MAN "Man"
1002/* Informational. RFC7089 */
1003#define MHD_HTTP_HEADER_MEMENTO_DATETIME "Memento-Datetime"
1004/* No category. RFC4229 */
1005#define MHD_HTTP_HEADER_METER "Meter"
1006/* No category. RFC4229 */
1007#define MHD_HTTP_HEADER_NEGOTIATE "Negotiate"
1008/* No category. RFC4229 */
1009#define MHD_HTTP_HEADER_OPT "Opt"
1010/* Experimental. RFC8053, Section 3 */
1011#define MHD_HTTP_HEADER_OPTIONAL_WWW_AUTHENTICATE "Optional-WWW-Authenticate"
1012/* Standard. RFC4229 */
1013#define MHD_HTTP_HEADER_ORDERING_TYPE "Ordering-Type"
1014/* Standard. RFC6454 */
1015#define MHD_HTTP_HEADER_ORIGIN "Origin"
1016/* Standard. RFC4918 */
1017#define MHD_HTTP_HEADER_OVERWRITE "Overwrite"
1018/* No category. RFC4229 */
1019#define MHD_HTTP_HEADER_P3P "P3P"
1020/* No category. RFC4229 */
1021#define MHD_HTTP_HEADER_PEP "PEP"
1022/* No category. RFC4229 */
1023#define MHD_HTTP_HEADER_PICS_LABEL "PICS-Label"
1024/* No category. RFC4229 */
1025#define MHD_HTTP_HEADER_PEP_INFO "Pep-Info"
1026/* Standard. RFC4229 */
1027#define MHD_HTTP_HEADER_POSITION "Position"
1028/* Standard. RFC7240 */
1029#define MHD_HTTP_HEADER_PREFER "Prefer"
1030/* Standard. RFC7240 */
1031#define MHD_HTTP_HEADER_PREFERENCE_APPLIED "Preference-Applied"
1032/* No category. RFC4229 */
1033#define MHD_HTTP_HEADER_PROFILEOBJECT "ProfileObject"
1034/* No category. RFC4229 */
1035#define MHD_HTTP_HEADER_PROTOCOL "Protocol"
1036/* No category. RFC4229 */
1037#define MHD_HTTP_HEADER_PROTOCOL_INFO "Protocol-Info"
1038/* No category. RFC4229 */
1039#define MHD_HTTP_HEADER_PROTOCOL_QUERY "Protocol-Query"
1040/* No category. RFC4229 */
1041#define MHD_HTTP_HEADER_PROTOCOL_REQUEST "Protocol-Request"
1042/* Standard. RFC7615, Section 4 */
1043#define MHD_HTTP_HEADER_PROXY_AUTHENTICATION_INFO "Proxy-Authentication-Info"
1044/* No category. RFC4229 */
1045#define MHD_HTTP_HEADER_PROXY_FEATURES "Proxy-Features"
1046/* No category. RFC4229 */
1047#define MHD_HTTP_HEADER_PROXY_INSTRUCTION "Proxy-Instruction"
1048/* No category. RFC4229 */
1049#define MHD_HTTP_HEADER_PUBLIC "Public"
1050/* Standard. RFC7469 */
1051#define MHD_HTTP_HEADER_PUBLIC_KEY_PINS "Public-Key-Pins"
1052/* Standard. RFC7469 */
1053#define MHD_HTTP_HEADER_PUBLIC_KEY_PINS_REPORT_ONLY "Public-Key-Pins-Report-Only"
1054/* No category. RFC4437 */
1055#define MHD_HTTP_HEADER_REDIRECT_REF "Redirect-Ref"
1056/* No category. RFC4229 */
1057#define MHD_HTTP_HEADER_SAFE "Safe"
1058/* Standard. RFC6638 */
1059#define MHD_HTTP_HEADER_SCHEDULE_REPLY "Schedule-Reply"
1060/* Standard. RFC6638 */
1061#define MHD_HTTP_HEADER_SCHEDULE_TAG "Schedule-Tag"
1062/* Standard. RFC6455 */
1063#define MHD_HTTP_HEADER_SEC_WEBSOCKET_ACCEPT "Sec-WebSocket-Accept"
1064/* Standard. RFC6455 */
1065#define MHD_HTTP_HEADER_SEC_WEBSOCKET_EXTENSIONS "Sec-WebSocket-Extensions"
1066/* Standard. RFC6455 */
1067#define MHD_HTTP_HEADER_SEC_WEBSOCKET_KEY "Sec-WebSocket-Key"
1068/* Standard. RFC6455 */
1069#define MHD_HTTP_HEADER_SEC_WEBSOCKET_PROTOCOL "Sec-WebSocket-Protocol"
1070/* Standard. RFC6455 */
1071#define MHD_HTTP_HEADER_SEC_WEBSOCKET_VERSION "Sec-WebSocket-Version"
1072/* No category. RFC4229 */
1073#define MHD_HTTP_HEADER_SECURITY_SCHEME "Security-Scheme"
1074/* Standard. RFC6265 */
1075#define MHD_HTTP_HEADER_SET_COOKIE "Set-Cookie"
1076/* Obsoleted. RFC2965; RFC6265 */
1077#define MHD_HTTP_HEADER_SET_COOKIE2 "Set-Cookie2"
1078/* No category. RFC4229 */
1079#define MHD_HTTP_HEADER_SETPROFILE "SetProfile"
1080/* Standard. RFC5023 */
1081#define MHD_HTTP_HEADER_SLUG "SLUG"
1082/* No category. RFC4229 */
1083#define MHD_HTTP_HEADER_SOAPACTION "SoapAction"
1084/* No category. RFC4229 */
1085#define MHD_HTTP_HEADER_STATUS_URI "Status-URI"
1086/* Standard. RFC6797 */
1087#define MHD_HTTP_HEADER_STRICT_TRANSPORT_SECURITY "Strict-Transport-Security"
1088/* No category. RFC4229 */
1089#define MHD_HTTP_HEADER_SURROGATE_CAPABILITY "Surrogate-Capability"
1090/* No category. RFC4229 */
1091#define MHD_HTTP_HEADER_SURROGATE_CONTROL "Surrogate-Control"
1092/* No category. RFC4229 */
1093#define MHD_HTTP_HEADER_TCN "TCN"
1094/* Standard. RFC4918 */
1095#define MHD_HTTP_HEADER_TIMEOUT "Timeout"
1096/* Standard. RFC8030, Section 5.4 */
1097#define MHD_HTTP_HEADER_TOPIC "Topic"
1098/* Standard. RFC8030, Section 5.2 */
1099#define MHD_HTTP_HEADER_TTL "TTL"
1100/* Standard. RFC8030, Section 5.3 */
1101#define MHD_HTTP_HEADER_URGENCY "Urgency"
1102/* No category. RFC4229 */
1103#define MHD_HTTP_HEADER_URI "URI"
1104/* No category. RFC4229 */
1105#define MHD_HTTP_HEADER_VARIANT_VARY "Variant-Vary"
1106/* No category. RFC4229 */
1107#define MHD_HTTP_HEADER_WANT_DIGEST "Want-Digest"
1108/* Informational. RFC7034 */
1109#define MHD_HTTP_HEADER_X_FRAME_OPTIONS "X-Frame-Options"
1110
1111/* Some provisional headers. */
1112#define MHD_HTTP_HEADER_ACCESS_CONTROL_ALLOW_ORIGIN "Access-Control-Allow-Origin"
1113/** @} */ /* end of group headers */
1114
749 1115
750/** 1116/**
751 * A client has requested the given url using the given method 1117 * A client has requested the given url using the given method
@@ -1187,6 +1553,16 @@ MHD_daemon_protocol_strict_level (struct MHD_Daemon *daemon,
1187 1553
1188 1554
1189/** 1555/**
1556 * Use SHOUTcast. This will cause the response to begin
1557 * with the SHOUTcast "ICY" line instad of "HTTP".
1558 *
1559 * @param daemon daemon to set SHOUTcast option for
1560 */
1561_MHD_EXTERN void
1562MHD_daemon_enable_shoutcast (struct MHD_Daemon *daemon);
1563
1564
1565/**
1190 * Enable and configure TLS. 1566 * Enable and configure TLS.
1191 * 1567 *
1192 * @param daemon which instance should be configured 1568 * @param daemon which instance should be configured
@@ -1836,9 +2212,31 @@ enum MHD_HTTP_StatusCode {
1836 MHD_HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511 2212 MHD_HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511
1837 2213
1838}; 2214};
2215
2216
2217/**
2218 * Returns the string reason phrase for a response code.
2219 *
2220 * If we don't have a string for a status code, we give the first
2221 * message in that status code class.
2222 */
2223_MHD_EXTERN const char *
2224MHD_get_reason_phrase_for (enum MHD_HTTP_StatusCode code);
2225
1839/** @} */ /* end of group httpcode */ 2226/** @} */ /* end of group httpcode */
1840 2227
1841 2228
2229/**
2230 * @defgroup versions HTTP versions
2231 * These strings should be used to match against the first line of the
2232 * HTTP header.
2233 * @{
2234 */
2235#define MHD_HTTP_VERSION_1_0 "HTTP/1.0"
2236#define MHD_HTTP_VERSION_1_1 "HTTP/1.1"
2237
2238/** @} */ /* end of group versions */
2239
1842 2240
1843/** 2241/**
1844 * Suspend handling of network data for a given request. This can 2242 * Suspend handling of network data for a given request. This can