@@ -65,7 +65,6 @@ typedef int ssize_t;
6565
6666typedef struct http_parser http_parser ;
6767typedef struct http_parser_settings http_parser_settings ;
68- typedef struct http_parser_result http_parser_result ;
6968
7069
7170/* Callbacks should return non-zero to indicate an error. The parser will
@@ -86,37 +85,44 @@ typedef int (*http_cb) (http_parser*);
8685
8786
8887/* Request Methods */
88+ #define HTTP_METHOD_MAP (XX ) \
89+ XX(0, DELETE, DELETE) \
90+ XX(1, GET, GET) \
91+ XX(2, HEAD, HEAD) \
92+ XX(3, POST, POST) \
93+ XX(4, PUT, PUT) \
94+ /* pathological */ \
95+ XX (5 , CONNECT , CONNECT ) \
96+ XX (6 , OPTIONS , OPTIONS ) \
97+ XX (7 , TRACE , TRACE ) \
98+ /* webdav */ \
99+ XX (8 , COPY , COPY ) \
100+ XX (9 , LOCK , LOCK ) \
101+ XX (10 , MKCOL , MKCOL ) \
102+ XX (11 , MOVE , MOVE ) \
103+ XX (12 , PROPFIND , PROPFIND ) \
104+ XX (13 , PROPPATCH , PROPPATCH ) \
105+ XX (14 , SEARCH , SEARCH ) \
106+ XX (15 , UNLOCK , UNLOCK ) \
107+ /* subversion */ \
108+ XX (16 , REPORT , REPORT ) \
109+ XX (17 , MKACTIVITY , MKACTIVITY ) \
110+ XX (18 , CHECKOUT , CHECKOUT ) \
111+ XX (19 , MERGE , MERGE ) \
112+ /* upnp */ \
113+ XX (20 , MSEARCH , M - SEARCH ) \
114+ XX (21 , NOTIFY , NOTIFY ) \
115+ XX (22 , SUBSCRIBE , SUBSCRIBE ) \
116+ XX (23 , UNSUBSCRIBE , UNSUBSCRIBE ) \
117+ /* RFC-5789 */ \
118+ XX (24 , PATCH , PATCH ) \
119+ XX (25 , PURGE , PURGE ) \
120+
89121enum http_method
90- { HTTP_DELETE = 0
91- , HTTP_GET
92- , HTTP_HEAD
93- , HTTP_POST
94- , HTTP_PUT
95- /* pathological */
96- , HTTP_CONNECT
97- , HTTP_OPTIONS
98- , HTTP_TRACE
99- /* webdav */
100- , HTTP_COPY
101- , HTTP_LOCK
102- , HTTP_MKCOL
103- , HTTP_MOVE
104- , HTTP_PROPFIND
105- , HTTP_PROPPATCH
106- , HTTP_UNLOCK
107- /* subversion */
108- , HTTP_REPORT
109- , HTTP_MKACTIVITY
110- , HTTP_CHECKOUT
111- , HTTP_MERGE
112- /* upnp */
113- , HTTP_MSEARCH
114- , HTTP_NOTIFY
115- , HTTP_SUBSCRIBE
116- , HTTP_UNSUBSCRIBE
117- /* RFC-5789 */
118- , HTTP_PATCH
119- , HTTP_PURGE
122+ {
123+ #define XX(num, name, string) HTTP_##name = num,
124+ HTTP_METHOD_MAP (XX )
125+ #undef XX
120126 };
121127
122128
0 commit comments