summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/exchange/taler-exchange-httpd.c')
-rw-r--r--src/exchange/taler-exchange-httpd.c51
1 files changed, 47 insertions, 4 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c
index 9349a5a21..a45c9d2b4 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -55,8 +55,12 @@
#include "taler-exchange-httpd_recoup-refresh.h"
#include "taler-exchange-httpd_refreshes_reveal.h"
#include "taler-exchange-httpd_refund.h"
+#include "taler-exchange-httpd_reserves_attest.h"
+#include "taler-exchange-httpd_reserves_close.h"
#include "taler-exchange-httpd_reserves_get.h"
+#include "taler-exchange-httpd_reserves_get_attest.h"
#include "taler-exchange-httpd_reserves_history.h"
+#include "taler-exchange-httpd_reserves_open.h"
#include "taler-exchange-httpd_reserves_purse.h"
#include "taler-exchange-httpd_reserves_status.h"
#include "taler-exchange-httpd_terms.h"
@@ -361,14 +365,14 @@ handle_post_reserves (struct TEH_RequestContext *rc,
} h[] = {
{
- .op = "withdraw",
- .handler = &TEH_handler_withdraw
- },
- {
.op = "batch-withdraw",
.handler = &TEH_handler_batch_withdraw
},
{
+ .op = "withdraw",
+ .handler = &TEH_handler_withdraw
+ },
+ {
.op = "status",
.handler = &TEH_handler_reserves_status
},
@@ -381,6 +385,18 @@ handle_post_reserves (struct TEH_RequestContext *rc,
.handler = &TEH_handler_reserves_purse
},
{
+ .op = "open",
+ .handler = &TEH_handler_reserves_open
+ },
+ {
+ .op = "attest",
+ .handler = &TEH_handler_reserves_attest
+ },
+ {
+ .op = "close",
+ .handler = &TEH_handler_reserves_close
+ },
+ {
.op = NULL,
.handler = NULL
},
@@ -1039,6 +1055,27 @@ handle_post_auditors (struct TEH_RequestContext *rc,
/**
+ * Handle a GET "/reserves/$RID/$XXX" request.
+ *
+ * @param rc request context
+ * @param args array of additional options (length: 1, just the reserve_pub)
+ * @return MHD result code
+ */
+static MHD_RESULT
+handler_reserves_get3 (struct TEH_RequestContext *rc,
+ const char *const args[3])
+{
+ if (0 == strcmp (args[2],
+ "attest"))
+ return TEH_handler_reserves_get_attest (rc,
+ args);
+ GNUNET_break_op (0);
+ return r404 (rc->connection,
+ "/reserves/$RID/*");
+}
+
+
+/**
* Handle incoming HTTP request.
*
* @param cls closure for MHD daemon (unused)
@@ -1153,6 +1190,12 @@ handle_mhd_request (void *cls,
},
{
.url = "reserves",
+ .method = MHD_HTTP_METHOD_GET,
+ .handler.get = &handler_reserves_get3,
+ .nargs = 3
+ },
+ {
+ .url = "reserves",
.method = MHD_HTTP_METHOD_POST,
.handler.post = &handle_post_reserves,
.nargs = 2