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.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/src/exchange/taler-exchange-httpd_wire.c b/src/exchange/taler-exchange-httpd_wire.c
index 9c8b2ff13..26cbb1870 100644
--- a/src/exchange/taler-exchange-httpd_wire.c
+++ b/src/exchange/taler-exchange-httpd_wire.c
@@ -120,9 +120,7 @@ TEH_WIRE_handler_wire (struct TEH_RequestHandler *rh,
const char *upload_data,
size_t *upload_data_size)
{
- if (NULL == wire_methods)
- wire_methods = TEH_VALIDATION_get_wire_methods ("exchange-wire-incoming");
-
+ GNUNET_assert (NULL != wire_methods);
return TEH_RESPONSE_reply_json (connection,
wire_methods,
MHD_HTTP_OK);
@@ -130,6 +128,27 @@ TEH_WIRE_handler_wire (struct TEH_RequestHandler *rh,
/**
+ * Initialize wire subsystem.
+ *
+ * @return #GNUNET_OK on success, #GNUNET_SYSERR if we found no valid
+ * wire methods
+ */
+int
+TEH_WIRE_init ()
+{
+ wire_methods = TEH_VALIDATION_get_wire_methods ("exchange-wire-incoming");
+ if ( (NULL == wire_methods) ||
+ (0 == json_object_size (wire_methods)) )
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Failed to find properly configured wire transfer method\n");
+ return GNUNET_SYSERR;
+ }
+ return GNUNET_OK;
+}
+
+
+/**
* Initialize libgcrypt.
*/
void __attribute__ ((destructor))