gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-merchant] branch master updated (07cc75f -> d0078be)


From: gnunet
Subject: [GNUnet-SVN] [taler-merchant] branch master updated (07cc75f -> d0078be)
Date: Wed, 31 Jan 2018 19:29:03 +0100

This is an automated email from the git hooks/post-receive script.

dold pushed a change to branch master
in repository merchant.

    from 07cc75f  use url helpers from taler util
     new 9fe3018  nicer error messages for /tip-authorize
     new d0078be  remove remnants of tip-enable

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/backend/taler-merchant-httpd.c               |   1 -
 src/backend/taler-merchant-httpd_tip-authorize.c |   7 +-
 src/backend/taler-merchant-httpd_tip-enable.c    | 157 -----------------------
 src/backend/taler-merchant-httpd_tip-enable.h    |  44 -------
 src/lib/test_merchant_api.c                      |  39 ------
 5 files changed, 6 insertions(+), 242 deletions(-)
 delete mode 100644 src/backend/taler-merchant-httpd_tip-enable.c
 delete mode 100644 src/backend/taler-merchant-httpd_tip-enable.h

diff --git a/src/backend/taler-merchant-httpd.c 
b/src/backend/taler-merchant-httpd.c
index 0302e05..174be2d 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -40,7 +40,6 @@
 #include "taler-merchant-httpd_track-transaction.h"
 #include "taler-merchant-httpd_track-transfer.h"
 #include "taler-merchant-httpd_tip-authorize.h"
-#include "taler-merchant-httpd_tip-enable.h"
 #include "taler-merchant-httpd_tip-pickup.h"
 #include "taler-merchant-httpd_tip-query.h"
 #include "taler-merchant-httpd_history.h"
diff --git a/src/backend/taler-merchant-httpd_tip-authorize.c 
b/src/backend/taler-merchant-httpd_tip-authorize.c
index f751883..ea2c706 100644
--- a/src/backend/taler-merchant-httpd_tip-authorize.c
+++ b/src/backend/taler-merchant-httpd_tip-authorize.c
@@ -395,26 +395,31 @@ MH_handler_tip_authorize (struct TMH_RequestHandler *rh,
   if (TALER_EC_NONE != ec)
   {
     unsigned int rc;
+    const char *msg;
 
     switch (ec)
     {
     case TALER_EC_TIP_AUTHORIZE_INSUFFICIENT_FUNDS:
       rc = MHD_HTTP_PRECONDITION_FAILED;
+      msg = "Failed to approve tip: merchant has insufficient tipping funds";
       break;
     case TALER_EC_TIP_AUTHORIZE_RESERVE_EXPIRED:
+      msg = "Failed to approve tip: merchant's tipping reserve expired";
       rc = MHD_HTTP_PRECONDITION_FAILED;
       break;
     case TALER_EC_TIP_AUTHORIZE_RESERVE_UNKNOWN:
+      msg = "Failed to approve tip: merchant's tipping reserve does not exist";
       rc = MHD_HTTP_NOT_FOUND;
       break;
     default:
       rc = MHD_HTTP_INTERNAL_SERVER_ERROR;
+      msg = "Failed to approve tip: internal server error";
       break;
     }
     return TMH_RESPONSE_reply_rc (connection,
                                   rc,
                                   ec,
-                                  "Database error approving tip");
+                                  msg);
   }
 
   /* generate success response */
diff --git a/src/backend/taler-merchant-httpd_tip-enable.c 
b/src/backend/taler-merchant-httpd_tip-enable.c
deleted file mode 100644
index 6aa62c9..0000000
--- a/src/backend/taler-merchant-httpd_tip-enable.c
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2014-2017 Taler Systems SA
-
-  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, see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file backend/taler-merchant-httpd_tip-enable.c
- * @brief implement API for authorizing tips to be paid to visitors
- * @author Christian Grothoff
- */
-#include "platform.h"
-#include <jansson.h>
-#include <taler/taler_json_lib.h>
-#include "taler-merchant-httpd.h"
-#include "taler-merchant-httpd_mhd.h"
-#include "taler-merchant-httpd_parsing.h"
-#include "taler-merchant-httpd_exchanges.h"
-#include "taler-merchant-httpd_responses.h"
-#include "taler-merchant-httpd_tip-enable.h"
-
-
-/**
- * Information we keep for individual calls
- * to requests that parse JSON, but keep no other state.
- */
-struct TMH_JsonParseContext
-{
-
-  /**
-   * This field MUST be first.
-   * FIXME: Explain why!
-   */
-  struct TM_HandlerContext hc;
-
-  /**
-   * Placeholder for #TMH_PARSE_post_json() to keep its internal state.
-   */
-  void *json_parse_context;
-};
-
-
-/**
- * Custom cleanup routine for a `struct TMH_JsonParseContext`.
- *
- * @param hc the `struct TMH_JsonParseContext` to clean up.
- */
-static void
-json_parse_cleanup (struct TM_HandlerContext *hc)
-{
-  struct TMH_JsonParseContext *jpc = (struct TMH_JsonParseContext *) hc;
-
-  TMH_PARSE_post_cleanup_callback (jpc->json_parse_context);
-  GNUNET_free (jpc);
-}
-
-
-/**
- * Handle a "/tip-enable" request.
- *
- * @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_tip_enable (struct TMH_RequestHandler *rh,
-                       struct MHD_Connection *connection,
-                       void **connection_cls,
-                       const char *upload_data,
-                       size_t *upload_data_size)
-{
-  enum GNUNET_DB_QueryStatus qs;
-  int res;
-  struct TALER_Amount credit;
-  struct GNUNET_TIME_Absolute expiration;
-  struct TALER_ReservePrivateKeyP reserve_priv;
-  struct GNUNET_HashCode credit_uuid;
-  struct GNUNET_JSON_Specification spec[] = {
-    TALER_JSON_spec_amount ("credit", &credit),
-    GNUNET_JSON_spec_absolute_time ("expiration", &expiration),
-    GNUNET_JSON_spec_fixed_auto ("reserve_priv", &reserve_priv),
-    GNUNET_JSON_spec_fixed_auto ("credit_uuid", &credit_uuid),
-    GNUNET_JSON_spec_end()
-  };
-  struct TMH_JsonParseContext *ctx;
-  json_t *root;
-
-  if (NULL == *connection_cls)
-  {
-    ctx = GNUNET_new (struct TMH_JsonParseContext);
-    ctx->hc.cc = &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;
-
-  res = TMH_PARSE_json_data (connection,
-                             root,
-                             spec);
-  json_decref (root);
-  if (GNUNET_YES != res)
-  {
-    GNUNET_break_op (0);
-    return (GNUNET_NO == res) ? MHD_YES : MHD_NO;
-  }
-
-  qs = db->enable_tip_reserve (db->cls,
-                               &reserve_priv,
-                               &credit_uuid,
-                               &credit,
-                               expiration);
-  if (0 > qs)
-  {
-    GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR != qs);
-    return TMH_RESPONSE_reply_internal_error (connection,
-                                             
TALER_EC_TIP_ENABLE_DB_TRANSACTION_ERROR,
-                                              "Database error approving tip");
-  }
-  if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
-  {
-    return TMH_RESPONSE_reply_json_pack (connection,
-                                         MHD_HTTP_OK,
-                                         "{s:s}",
-                                         "status", "duplicate submission");
-  }
-  return TMH_RESPONSE_reply_json_pack (connection,
-                                       MHD_HTTP_OK,
-                                       "{s:s}",
-                                       "status", "ok");
-}
-
-/* end of taler-merchant-httpd_tip-enable.c */
diff --git a/src/backend/taler-merchant-httpd_tip-enable.h 
b/src/backend/taler-merchant-httpd_tip-enable.h
deleted file mode 100644
index 2981ef4..0000000
--- a/src/backend/taler-merchant-httpd_tip-enable.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2017 Taler Systems SA
-
-  TALER 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, 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, see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file backend/taler-merchant-httpd_tip-enable.h
- * @brief headers for /tip-enable handler
- * @author Christian Grothoff
- */
-#ifndef TALER_MERCHANT_HTTPD_TIP_ENABLE_H
-#define TALER_MERCHANT_HTTPD_TIP_ENABLE_H
-#include <microhttpd.h>
-#include "taler-merchant-httpd.h"
-
-/**
- * Manages a /tip-enable call, storing information about the
- * reserve.
- *
- * @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_tip_enable (struct TMH_RequestHandler *rh,
-                       struct MHD_Connection *connection,
-                       void **connection_cls,
-                       const char *upload_data,
-                       size_t *upload_data_size);
-
-#endif
diff --git a/src/lib/test_merchant_api.c b/src/lib/test_merchant_api.c
index d4f605f..dc81b9a 100644
--- a/src/lib/test_merchant_api.c
+++ b/src/lib/test_merchant_api.c
@@ -863,45 +863,6 @@ struct Command
     struct {
 
       /**
-       * Reference to the operation that provisioned the reserve.
-       * Used to determine the reserve private key and the instance.
-       */
-      const char *admin_add_incoming_ref;
-
-      /**
-       * Reference to another enable operation, usually NULL. Can
-       * be set to a non-NULL value to call enable again with the
-       * same @e credit_uuid that was previously used.
-       */
-      const char *uuid_ref;
-
-      /**
-       * How much should be put into the tipping reserve? If
-       * NULL, the amount is taken from the @e admin_add_incoming_ref.
-       */
-      const char *amount;
-
-      /**
-       * Handle to the ongoing operation.
-       */
-      struct TALER_MERCHANT_TipEnableOperation *teo;
-
-      /**
-       * UUID used for the enable operation, set by the interpreter to
-       * a random value UNLESS @e uuid_ref is non-NULL.
-       */
-      struct GNUNET_HashCode credit_uuid;
-
-      /**
-       * EC expected for the operation.
-       */
-      enum TALER_ErrorCode expected_ec;
-
-    } tip_enable;
-
-    struct {
-
-      /**
        * Specify the instance (to succeed, this must match a prior
        * enable action and the respective wire transfer's instance).
        */

-- 
To stop receiving notification emails like this one, please contact
address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]