gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] 02/02: update


From: gnunet
Subject: [taler-merchant] 02/02: update
Date: Tue, 29 Nov 2022 14:20:33 +0100

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

priscilla-huang pushed a commit to branch master
in repository merchant.

commit ad99fc41cd3059d2b954a0096304c2118ff57e11
Author: priscilla <priscilla.huang@efrei.net>
AuthorDate: Tue Nov 29 08:20:03 2022 -0500

    update
---
 src/backend/Makefile.am                            | 10 ++++
 src/backend/taler-merchant-httpd.c                 | 54 ++++++++++++++++++++++
 src/backend/taler-merchant-httpd.h                 |  4 +-
 .../taler-merchant-httpd_private-get-webhooks.c    |  2 +-
 ...aler-merchant-httpd_private-patch-webhooks-ID.c |  2 +-
 .../taler-merchant-httpd_private-post-webhooks.c   | 10 ----
 6 files changed, 68 insertions(+), 14 deletions(-)

diff --git a/src/backend/Makefile.am b/src/backend/Makefile.am
index a24e80ad..de283293 100644
--- a/src/backend/Makefile.am
+++ b/src/backend/Makefile.am
@@ -36,6 +36,8 @@ taler_merchant_httpd_SOURCES = \
   taler-merchant-httpd_mhd.c taler-merchant-httpd_mhd.h \
   taler-merchant-httpd_private-delete-templates-ID.c \
     taler-merchant-httpd_private-delete-templates-ID.h \
+  taler-merchant-httpd_private-delete-webhooks-ID.c \
+    taler-merchant-httpd_private-delete-webhooks-ID.h \
   taler-merchant-httpd_private-delete-instances-ID.c \
     taler-merchant-httpd_private-delete-instances-ID.h \
   taler-merchant-httpd_private-delete-products-ID.c \
@@ -70,8 +72,14 @@ taler_merchant_httpd_SOURCES = \
     taler-merchant-httpd_private-get-templates.h \
   taler-merchant-httpd_private-get-templates-ID.c \
     taler-merchant-httpd_private-get-templates-ID.h \
+  taler-merchant-httpd_private-get-webhooks.c \
+    taler-merchant-httpd_private-get-webhooks.h \
+  taler-merchant-httpd_private-get-webhooks-ID.c \
+    taler-merchant-httpd_private-get-webhooks-ID.h \
   taler-merchant-httpd_private-patch-templates-ID.c \
     taler-merchant-httpd_private-patch-templates-ID.h \
+  taler-merchant-httpd_private-patch-webhooks-ID.c \
+    taler-merchant-httpd_private-patch-webhooks-ID.h \
   taler-merchant-httpd_private-patch-instances-ID.c \
     taler-merchant-httpd_private-patch-instances-ID.h \
   taler-merchant-httpd_private-patch-orders-ID-forget.c \
@@ -80,6 +88,8 @@ taler_merchant_httpd_SOURCES = \
     taler-merchant-httpd_private-patch-products-ID.h \
   taler-merchant-httpd_private-post-templates.c \
     taler-merchant-httpd_private-post-templates.h \
+  taler-merchant-httpd_private-post-webhooks.c \
+    taler-merchant-httpd_private-post-webhooks.h \
   taler-merchant-httpd_private-post-instances.c \
     taler-merchant-httpd_private-post-instances.h \
   taler-merchant-httpd_private-post-instances-ID-auth.c \
diff --git a/src/backend/taler-merchant-httpd.c 
b/src/backend/taler-merchant-httpd.c
index 95484c37..d16a55ee 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -34,12 +34,15 @@
 #include "taler-merchant-httpd_get-orders-ID.h"
 #include "taler-merchant-httpd_get-tips-ID.h"
 #include "taler-merchant-httpd_mhd.h"
+#include "taler-merchant-httpd_private-delete-webhooks-ID.h"
 #include "taler-merchant-httpd_private-delete-templates-ID.h"
 #include "taler-merchant-httpd_private-delete-instances-ID.h"
 #include "taler-merchant-httpd_private-delete-products-ID.h"
 #include "taler-merchant-httpd_private-delete-orders-ID.h"
 #include "taler-merchant-httpd_private-delete-reserves-ID.h"
 #include "taler-merchant-httpd_private-delete-transfers-ID.h"
+#include "taler-merchant-httpd_private-get-webhooks.h"
+#include "taler-merchant-httpd_private-get-webhooks-ID.h"
 #include "taler-merchant-httpd_private-get-templates.h"
 #include "taler-merchant-httpd_private-get-templates-ID.h"
 #include "taler-merchant-httpd_private-get-instances.h"
@@ -54,10 +57,12 @@
 #include "taler-merchant-httpd_private-get-tips-ID.h"
 #include "taler-merchant-httpd_private-get-tips.h"
 #include "taler-merchant-httpd_private-get-transfers.h"
+#include "taler-merchant-httpd_private-patch-webhooks-ID.h"
 #include "taler-merchant-httpd_private-patch-templates-ID.h"
 #include "taler-merchant-httpd_private-patch-instances-ID.h"
 #include "taler-merchant-httpd_private-patch-orders-ID-forget.h"
 #include "taler-merchant-httpd_private-patch-products-ID.h"
+#include "taler-merchant-httpd_private-post-webhooks.h"
 #include "taler-merchant-httpd_private-post-templates.h"
 #include "taler-merchant-httpd_private-post-instances.h"
 #include "taler-merchant-httpd_private-post-instances-ID-auth.h"
@@ -1103,6 +1108,55 @@ url_handler (void *cls,
          in the code... */
       .max_upload = 1024 * 1024 * 8
     },
+    {
+      .url_prefix = NULL
+    },
+    /* GET /webhooks: */
+    {
+      .url_prefix = "/webhooks/",
+      .method = MHD_HTTP_METHOD_GET,
+      .handler = &TMH_private_get_webhooks
+    },
+    /* POST /webhooks: */
+    {
+      .url_prefix = "/webhooks/",
+      .method = MHD_HTTP_METHOD_POST,
+      .handler = &TMH_private_post_webhooks,
+      /* allow webhook data of up to 8 MB, that should be plenty;
+         note that exceeding #GNUNET_MAX_MALLOC_CHECKED (40 MB)
+         would require further changes to the allocation logic
+         in the code... */
+      .max_upload = 1024 * 1024 * 8
+    },
+    /* GET /webhooks/$ID/: */
+    {
+      .url_prefix = "/webhooks/",
+      .method = MHD_HTTP_METHOD_GET,
+      .have_id_segment = true,
+      .allow_deleted_instance = true,
+      .handler = &TMH_private_get_webhooks_ID
+    },
+    /* DELETE /webhooks/$ID/: */
+    {
+      .url_prefix = "/webhooks/",
+      .method = MHD_HTTP_METHOD_DELETE,
+      .have_id_segment = true,
+      .allow_deleted_instance = true,
+      .handler = &TMH_private_delete_webhooks_ID
+    },
+    /* PATCH /webhooks/$ID/: */
+    {
+      .url_prefix = "/webhooks/",
+      .method = MHD_HTTP_METHOD_PATCH,
+      .have_id_segment = true,
+      .allow_deleted_instance = true,
+      .handler = &TMH_private_patch_webhooks_ID,
+      /* allow webhook data of up to 8 MB, that should be plenty;
+         note that exceeding #GNUNET_MAX_MALLOC_CHECKED (40 MB)
+         would require further changes to the allocation logic
+         in the code... */
+      .max_upload = 1024 * 1024 * 8
+    },
     {
       .url_prefix = NULL
     }
diff --git a/src/backend/taler-merchant-httpd.h 
b/src/backend/taler-merchant-httpd.h
index 5dbb0c94..e8911b32 100644
--- a/src/backend/taler-merchant-httpd.h
+++ b/src/backend/taler-merchant-httpd.h
@@ -381,7 +381,7 @@ struct TMH_RequestHandler
 
   /**
    * URL prefix the handler is for, includes the '/',
-   * so "/orders", "/templates" or "/products".  Does *not* include
+   * so "/orders", "/templates", "/webhooks" or "/products".  Does *not* 
include
    * "/private", that is controlled by the array in which
    * the handler is defined.  Must not contain any
    * '/' except for the leading '/'.
@@ -390,7 +390,7 @@ struct TMH_RequestHandler
 
   /**
    * Does this request include an identifier segment
-   * (product_id, reserve_pub, order_id, tip_id, template_id) in the
+   * (product_id, reserve_pub, order_id, tip_id, template_id, webhook_id) in 
the
    * second segment?
    */
   bool have_id_segment;
diff --git a/src/backend/taler-merchant-httpd_private-get-webhooks.c 
b/src/backend/taler-merchant-httpd_private-get-webhooks.c
index 735748e3..cda4eda9 100644
--- a/src/backend/taler-merchant-httpd_private-get-webhooks.c
+++ b/src/backend/taler-merchant-httpd_private-get-webhooks.c
@@ -29,7 +29,7 @@
  * @param webhook_id ID of the webhook
  */
 static void
-add_template (void *cls,
+add_webhook (void *cls,
               const char *webhook_id,
               const char *event_type)
 {
diff --git a/src/backend/taler-merchant-httpd_private-patch-webhooks-ID.c 
b/src/backend/taler-merchant-httpd_private-patch-webhooks-ID.c
index af93e96a..3144687b 100644
--- a/src/backend/taler-merchant-httpd_private-patch-webhooks-ID.c
+++ b/src/backend/taler-merchant-httpd_private-patch-webhooks-ID.c
@@ -107,7 +107,7 @@ TMH_private_patch_webhooks_ID (const struct 
TMH_RequestHandler *rh,
 {
   struct TMH_MerchantInstance *mi = hc->instance;
   const char *webhook_id = hc->infix;
-  struct TALER_MERCHANTDB_WebhookDetails tp = {0};
+  struct TALER_MERCHANTDB_WebhookDetails wb = {0};
   enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_JSON_Specification spec[] = {
     GNUNET_JSON_spec_string ("event_type",
diff --git a/src/backend/taler-merchant-httpd_private-post-webhooks.c 
b/src/backend/taler-merchant-httpd_private-post-webhooks.c
index ab076924..57fa3a65 100644
--- a/src/backend/taler-merchant-httpd_private-post-webhooks.c
+++ b/src/backend/taler-merchant-httpd_private-post-webhooks.c
@@ -100,16 +100,6 @@ TMH_private_post_webhooks (const struct TMH_RequestHandler 
*rh,
   }
 
 
-  if (! TMH_url_valid (wb.url))
-  {
-    GNUNET_break_op (0);
-    GNUNET_JSON_parse_free (spec);
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_BAD_REQUEST,
-                                       TALER_EC_GENERIC_PARAMETER_MALFORMED,
-                                       "url");
-  }
-
 
   /* finally, interact with DB until no serialization error */
   for (unsigned int i = 0; i<MAX_RETRIES; i++)

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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