add HTTP_METHOD_OPTIONS as another supported http method. (#186)

This commit is contained in:
Stanislav Yudin 2017-04-04 17:37:19 +10:00 committed by Joris Vink
parent aed1a63c38
commit b73343aea4
3 changed files with 8 additions and 0 deletions

View File

@ -171,6 +171,7 @@ struct http_file {
#define HTTP_METHOD_PUT 2
#define HTTP_METHOD_DELETE 3
#define HTTP_METHOD_HEAD 4
#define HTTP_METHOD_OPTIONS 5
#define HTTP_REQUEST_COMPLETE 0x0001
#define HTTP_REQUEST_DELETE 0x0002

View File

@ -231,6 +231,9 @@ http_request_new(struct connection *c, const char *host,
} else if (!strcasecmp(method, "head")) {
m = HTTP_METHOD_HEAD;
flags = HTTP_REQUEST_COMPLETE;
} else if (!strcasecmp(method, "options")) {
m = HTTP_METHOD_OPTIONS;
flags = HTTP_REQUEST_COMPLETE;
} else {
http_error_response(c, 400);
return (KORE_RESULT_ERROR);
@ -1883,6 +1886,9 @@ http_method_text(int method)
case HTTP_METHOD_HEAD:
r = "HEAD";
break;
case HTTP_METHOD_OPTIONS:
r = "OPTIONS";
break;
default:
r = "";
break;

View File

@ -106,6 +106,7 @@ static struct {
{ "METHOD_HEAD", HTTP_METHOD_HEAD },
{ "METHOD_POST", HTTP_METHOD_POST },
{ "METHOD_DELETE", HTTP_METHOD_DELETE },
{ "METHOD_OPTIONS", HTTP_METHOD_OPTIONS },
{ "WEBSOCKET_OP_TEXT", WEBSOCKET_OP_TEXT },
{ "WEBSOCKET_OP_BINARY", WEBSOCKET_OP_BINARY },
{ "WEBSOCKET_BROADCAST_LOCAL", WEBSOCKET_BROADCAST_LOCAL },