diff options
Diffstat (limited to 'src/include/microhttpd2.h')
-rw-r--r-- | src/include/microhttpd2.h | 398 |
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 | */ |
546 | enum MHD_Method | 573 | enum 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 | ||
1562 | MHD_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 * | ||
2224 | MHD_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 |