diff options
Diffstat (limited to 'src/exchange/taler-exchange-httpd.c')
| -rw-r--r-- | src/exchange/taler-exchange-httpd.c | 51 | 
1 files changed, 47 insertions, 4 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c index 9349a5a2..a45c9d2b 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  | 
