Changeset 32015


Ignore:
Timestamp:
May 12, 2017, 8:24:50 AM (2 months ago)
Author:
brainslayer
Message:

simplify

Location:
src/router/httpd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/httpd.c

    r32014 r32015  
    612612        int cl = 0, count, flags;
    613613        char line[LINE_LEN + 1];
     614        long method_type;
    614615
    615616        /* Initialize the request variables. */
     
    690691                }
    691692        }
    692 
    693         if (strcasecmp(method, "get") != 0 && strcasecmp(method, "post") != 0 && strcasecmp(method, "options") != 0) {
     693        method_type = METHOD_INVALID;
     694        if (!strcasecmp(method, "get"))
     695                method_type = METHOD_GET;
     696        if (!strcasecmp(method, "post"))
     697                method_type = METHOD_POST;
     698        if (!strcasecmp(method, "options"))
     699                method_type = METHOD_OPTIONS;
     700
     701        if (method_type == METHOD_INVALID) {
    694702                send_error(501, "Not Implemented", (char *)0, "That method is not implemented.");
    695703                return;
     
    774782#endif
    775783
    776         if (!referer && strcasecmp(method, "post") == 0 && nodetect == 0) {
     784        if (!referer && method_type == METHOD_POST && nodetect == 0) {
    777785                send_error(400, "Bad Request", (char *)0, "Cross Site Action detected!");
    778786                return;
     
    9981006                                {
    9991007                                        memdebug_enter();
    1000                                         if (!changepassword && handler->auth && (!handler->handle_options || strcasecmp(method, "options"))) {
     1008                                        if (!changepassword && handler->auth && (!handler->handle_options || method_type == METHOD_OPTIONS)) {
    10011009                                                int result = handler->auth(conn_fp,
    10021010                                                                           auth_userid,
     
    10221030                                }
    10231031                                post = 0;
    1024                                 if (strcasecmp(method, "post") == 0) {
     1032                                if (method_type == METHOD_POST) {
    10251033                                        post = 1;
    10261034                                }
     
    10841092                                        }
    10851093                                        if (handler->output && file_found) {
    1086                                                 handler->output(method, handler, file, conn_fp, query);
     1094                                                handler->output(method_type, handler, file, conn_fp, query);
    10871095                                        } else {
    10881096                                                send_error(404, "Not Found", (char *)0, "File not found.");
  • src/router/httpd/httpd.h

    r32014 r32015  
    7373        unsigned char handle_options;
    7474};
     75
     76#define METHOD_INVALID 0L
     77#define METHOD_GET 1L
     78#define METHOD_POST 2L
     79#define METHOD_OPTIONS 3L
    7580
    7681typedef struct {
  • src/router/httpd/modules/base.c

    r32014 r32015  
    475475                else
    476476                        asprintf(&extra, "%s", options);
    477                 if (!strncasecmp(method, "OPTIONS", 7)) {
     477                if (method == METHOD_OPTIONS) {
    478478                        send_headers(200, "Ok", extra, handler->mime_type, 0, NULL);    // special case if call was for OPTIONS and not GET, so we return the requested header with zero body size
    479479                        goto ret;
Note: See TracChangeset for help on using the changeset viewer.