X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fhttp-svc.c;h=8af11d2eba32c4f73d4da22120502ae77ab799ce;hb=2a3fbda636c93c9f22a064e5c5f537c2232d626d;hp=fa0440b9c9a28b2aa91e5e6d8d9c94b349444925;hpb=7aae8b046213dc7041e741b5e8b2757255701183;p=src%2Fapp-framework-binder.git diff --git a/src/http-svc.c b/src/http-svc.c index fa0440b9..8af11d2e 100644 --- a/src/http-svc.c +++ b/src/http-svc.c @@ -1,42 +1,29 @@ /* - * Copyright (C) 2016 "IoT.bzh" - * Author José Bollo + * Copyright 2016 IoT.bzh + * Author: José Bollo * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * http://www.apache.org/licenses/LICENSE-2.0 * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ + #define _GNU_SOURCE #include #include #include #include -#include "../include/local-def.h" - +#include "../include/local-def.h" +#include "afb-method.h" -enum afb_method { - afb_method_none = 0, - afb_method_get = 1, - afb_method_post = 2, - afb_method_head = 4, - afb_method_connect = 8, - afb_method_delete = 16, - afb_method_options = 32, - afb_method_patch = 64, - afb_method_put = 128, - afb_method_trace = 256, - afb_method_all = 511 -}; struct afb_req_post { const char *upload_data; @@ -68,64 +55,6 @@ struct afb_req_handler { static char empty_string[1] = ""; -enum afb_method get_method(const char *method) -{ - switch (method[0] & ~' ') { - case 'C': - return afb_method_connect; - case 'D': - return afb_method_delete; - case 'G': - return afb_method_get; - case 'H': - return afb_method_head; - case 'O': - return afb_method_options; - case 'P': - switch (method[1] & ~' ') { - case 'A': - return afb_method_patch; - case 'O': - return afb_method_post; - case 'U': - return afb_method_put; - } - break; - case 'T': - return afb_method_trace; - } - return afb_method_none; -} - -#if !defined(MHD_HTTP_METHOD_PATCH) -#define MHD_HTTP_METHOD_PATCH "PATCH" -#endif -const char *get_method_name(enum afb_method method) -{ - switch (method) { - case afb_method_get: - return MHD_HTTP_METHOD_GET; - case afb_method_post: - return MHD_HTTP_METHOD_POST; - case afb_method_head: - return MHD_HTTP_METHOD_HEAD; - case afb_method_connect: - return MHD_HTTP_METHOD_CONNECT; - case afb_method_delete: - return MHD_HTTP_METHOD_DELETE; - case afb_method_options: - return MHD_HTTP_METHOD_OPTIONS; - case afb_method_patch: - return MHD_HTTP_METHOD_PATCH; - case afb_method_put: - return MHD_HTTP_METHOD_PUT; - case afb_method_trace: - return MHD_HTTP_METHOD_TRACE; - default: - return NULL; - } -} - /* a valid subpath is a relative path not looking deeper than root using .. */ static int validsubpath(const char *subpath) {