diff options
Diffstat (limited to 'src/backend/taler-merchant-httpd_util.c')
-rw-r--r-- | src/backend/taler-merchant-httpd_util.c | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/src/backend/taler-merchant-httpd_util.c b/src/backend/taler-merchant-httpd_util.c deleted file mode 100644 index 9d62722c..00000000 --- a/src/backend/taler-merchant-httpd_util.c +++ /dev/null @@ -1,105 +0,0 @@ -/* - This file is part of TALER - (C) 2014, 2015, 2016 GNUnet e.V. and INRIA - - TALER 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, or (at your option) any later version. - - TALER 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. - - You should have received a copy of the GNU General Public License along with - TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> -*/ -/** - * @file backend/taler-merchant-httpd_contract.c - * @brief HTTP serving layer mainly intended to communicate with the frontend - * @author Marcello Stanisci - */ -#include "platform.h" -#include <jansson.h> -#include <taler/taler_signatures.h> -#include <taler/taler_json_lib.h> -#include "taler-merchant-httpd.h" -#include "taler-merchant-httpd_parsing.h" -#include "taler-merchant-httpd_auditors.h" -#include "taler-merchant-httpd_exchanges.h" -#include "taler-merchant-httpd_responses.h" - - -/** - * Hashes a plain JSON contract sending the result to the other end of - * HTTP communication - * - * @param rh context of the handler - * @param connection the MHD connection to handle - * @param[in,out] connection_cls the connection's closure (can be updated) - * @param upload_data upload data - * @param[in,out] upload_data_size number of bytes (left) in @a upload_data - * @return MHD result code - */ -int -MH_handler_hash_contract (struct TMH_RequestHandler *rh, - struct MHD_Connection *connection, - void **connection_cls, - const char *upload_data, - size_t *upload_data_size) -{ - json_t *root; - json_t *jcontract; - int res; - struct GNUNET_HashCode hc; - struct TMH_JsonParseContext *ctx; - - if (NULL == *connection_cls) - { - ctx = GNUNET_new (struct TMH_JsonParseContext); - ctx->hc.cc = &TMH_json_parse_cleanup; - *connection_cls = ctx; - } - else - { - ctx = *connection_cls; - } - - res = TMH_PARSE_post_json (connection, - &ctx->json_parse_context, - upload_data, - upload_data_size, - &root); - - if (GNUNET_SYSERR == res) - return MHD_NO; - /* the POST's body has to be further fetched */ - if ((GNUNET_NO == res) || (NULL == root)) - return MHD_YES; - - jcontract = json_object_get (root, "contract"); - - if (NULL == jcontract) - { - return TMH_RESPONSE_reply_external_error (connection, - "missing 'contract' field"); - } - - if (GNUNET_OK != TALER_JSON_hash (jcontract, - &hc)) - { - return TMH_RESPONSE_reply_external_error (connection, - "expected object as contract"); - } - - GNUNET_assert (GNUNET_OK == - TALER_JSON_hash (jcontract, - &hc)); - - /* return final response */ - res = TMH_RESPONSE_reply_json_pack (connection, - MHD_HTTP_OK, - "{s:O}", - "hash", GNUNET_JSON_from_data_auto (&hc)); - json_decref (root); - return res; -} |