summaryrefslogtreecommitdiff
path: root/src/backend/taler-merchant-httpd.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-08-05 18:55:53 +0200
committerChristian Grothoff <christian@grothoff.org>2021-08-05 18:55:53 +0200
commitc9d29b909d092dc9d5c230f496905fa3a07f64f0 (patch)
treeb0767d0a7e079ee81ac09310b2deeeb776d1be17 /src/backend/taler-merchant-httpd.c
parent79b90fbb7780c2a1d250971fa42565e137432bc8 (diff)
downloadmerchant-c9d29b909d092dc9d5c230f496905fa3a07f64f0.tar.gz
merchant-c9d29b909d092dc9d5c230f496905fa3a07f64f0.tar.bz2
merchant-c9d29b909d092dc9d5c230f496905fa3a07f64f0.zip
-merge sebastjm's #6945 branch/fix, and fix an issue in the test logic
Diffstat (limited to 'src/backend/taler-merchant-httpd.c')
-rw-r--r--src/backend/taler-merchant-httpd.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c
index ed782f33..6d13b6db 100644
--- a/src/backend/taler-merchant-httpd.c
+++ b/src/backend/taler-merchant-httpd.c
@@ -1149,7 +1149,7 @@ url_handler (void *cls,
size_t *upload_data_size,
void **con_cls)
{
- static struct TMH_RequestHandler private_handlers[] = {
+ static struct TMH_RequestHandler management_handlers[] = {
/* GET /instances */
{
.url_prefix = "/instances",
@@ -1180,7 +1180,7 @@ url_handler (void *cls,
.have_id_segment = true,
.handler = &TMH_private_get_instances_default_ID
},
- /* DELETE /private/instances/$ID */
+ /* DELETE /instances/$ID */
{
.url_prefix = "/instances/",
.method = MHD_HTTP_METHOD_DELETE,
@@ -1213,9 +1213,14 @@ url_handler (void *cls,
.have_id_segment = true,
.handler = &TMH_private_post_instances_default_ID_auth,
/* Body should be pretty small. */
- .max_upload = 1024 * 1024,
+ .max_upload = 1024 * 1024
},
+ {
+ NULL
+ }
+ };
+ static struct TMH_RequestHandler private_handlers[] = {
/* GET /instances/$ID/: */
{
.url_prefix = "/",
@@ -1733,13 +1738,21 @@ url_handler (void *cls,
}
{
+ const char *management_prefix = "/management/";
const char *private_prefix = "/private/";
if ( (0 == strncmp (url,
- private_prefix,
- strlen (private_prefix))) ||
- (0 == strcmp (url,
- "/private")) )
+ management_prefix,
+ strlen (management_prefix))) )
+ {
+ handlers = management_handlers;
+ url += strlen (management_prefix) - 1;
+ }
+ else if ( (0 == strncmp (url,
+ private_prefix,
+ strlen (private_prefix))) ||
+ (0 == strcmp (url,
+ "/private")) )
{
handlers = private_handlers;
url += strlen (private_prefix) - 1;