From 65dbd214b80664872f6514fdd663a30e405a6ad6 Mon Sep 17 00:00:00 2001 From: Martin Schanzenbach Date: Wed, 18 Oct 2023 15:15:05 +0200 Subject: BUILD: Move identity/rest components to service/rest-plugin --- src/rest/rest.c | 99 --------------------------------------------------------- 1 file changed, 99 deletions(-) delete mode 100644 src/rest/rest.c (limited to 'src/rest/rest.c') diff --git a/src/rest/rest.c b/src/rest/rest.c deleted file mode 100644 index 757c0b979..000000000 --- a/src/rest/rest.c +++ /dev/null @@ -1,99 +0,0 @@ -/* - This file is part of GNUnet - Copyright (C) 2010-2015 GNUnet e.V. - - GNUnet is free software: you can redistribute it and/or modify it - under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, - or (at your option) any later version. - - GNUnet 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 - Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - - SPDX-License-Identifier: AGPL3.0-or-later - */ - -/** - * @file rest/rest.c - * @brief helper library to create JSON REST Objects and handle REST - * responses/requests. - * @author Martin Schanzenbach - */ -#include "platform.h" -#include "gnunet_util_lib.h" -#include "gnunet_rest_lib.h" -#include "microhttpd.h" - -/** - * REST Utilities - */ - -int -GNUNET_REST_namespace_match (const char *url, const char *namespace) -{ - return 0 == strncmp (namespace, url, strlen (namespace)); -} - - -struct MHD_Response* -GNUNET_REST_create_response (const char *data) -{ - struct MHD_Response *resp; - size_t len; - - if (NULL == data) - { - len = 0; - data = ""; - } - else - len = strlen (data); - resp = MHD_create_response_from_buffer (len, - (void *) data, - MHD_RESPMEM_MUST_COPY); - return resp; -} - - -int -GNUNET_REST_handle_request (struct GNUNET_REST_RequestHandle *conn, - const struct GNUNET_REST_RequestHandler *handlers, - struct GNUNET_REST_RequestHandlerError *err, - void *cls) -{ - int count; - int i; - char *url; - - count = 0; - while (NULL != handlers[count].method) - count++; - - GNUNET_asprintf (&url, "%s", conn->url); - if (url[strlen (url) - 1] == '/') - url[strlen (url) - 1] = '\0'; - for (i = 0; i < count; i++) - { - if (0 != strcasecmp (conn->method, handlers[i].method)) - continue; - if (strlen (url) < strlen (handlers[i].namespace)) - continue; - if (GNUNET_NO == GNUNET_REST_namespace_match (url, handlers[i].namespace)) - continue; - // Match - handlers[i].proc (conn, (const char *) url, cls); - GNUNET_free (url); - return GNUNET_YES; - } - GNUNET_free (url); - err->error_code = MHD_HTTP_BAD_REQUEST; - return GNUNET_NO; -} - - -/* end of rest.c */ -- cgit v1.2.3