summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_wire.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchange/taler-exchange-httpd_wire.c')
-rw-r--r--src/exchange/taler-exchange-httpd_wire.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/exchange/taler-exchange-httpd_wire.c b/src/exchange/taler-exchange-httpd_wire.c
index 79e69cc13..372e39bb6 100644
--- a/src/exchange/taler-exchange-httpd_wire.c
+++ b/src/exchange/taler-exchange-httpd_wire.c
@@ -27,6 +27,12 @@
#include <jansson.h>
/**
+ * Cached JSON for /wire response.
+ */
+static json_t *wire_methods;
+
+
+/**
* Handle a "/wire" request.
*
* @param rh context of the handler
@@ -43,8 +49,6 @@ TMH_WIRE_handler_wire (struct TMH_RequestHandler *rh,
const char *upload_data,
size_t *upload_data_size)
{
- static json_t *wire_methods;
-
if (NULL == wire_methods)
wire_methods = TMH_VALIDATION_get_wire_methods ("exchange-wire-incoming");
@@ -54,4 +58,19 @@ TMH_WIRE_handler_wire (struct TMH_RequestHandler *rh,
}
+/**
+ * Initialize libgcrypt.
+ */
+void __attribute__ ((destructor))
+TEH_wire_cleanup ()
+{
+ if (NULL != wire_methods)
+ {
+ json_decref (wire_methods);
+ wire_methods = NULL;
+ }
+}
+
+
+
/* end of taler-exchange-httpd_wire.c */