diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-04-17 20:33:24 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-04-17 20:33:24 +0200 |
commit | ed553c1bd7b3a26de30761fe85ad4e9639a06315 (patch) | |
tree | c802a0c40b12aac86d6bd538dacda8b6ee383e2b /src | |
parent | 49129bbcb160f01833e1c328b58ea5d7eb548423 (diff) | |
download | merchant-ed553c1bd7b3a26de30761fe85ad4e9639a06315.tar.gz merchant-ed553c1bd7b3a26de30761fe85ad4e9639a06315.tar.bz2 merchant-ed553c1bd7b3a26de30761fe85ad4e9639a06315.zip |
support PATCH as well
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/taler-merchant-httpd.c | 10 | ||||
-rw-r--r-- | src/backend/taler-merchant-httpd.h | 8 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c index b1668e07..7ad0f85a 100644 --- a/src/backend/taler-merchant-httpd.c +++ b/src/backend/taler-merchant-httpd.c @@ -777,7 +777,7 @@ url_handler (void *cls, { GNUNET_assert (NULL != hc->rh); GNUNET_SCHEDULER_begin_async_scope (&hc->async_scope_id); - if ( (hc->is_post) && + if ( (hc->has_body) && (NULL == hc->json) ) { int res; @@ -983,9 +983,11 @@ url_handler (void *cls, (json_int_t) TALER_EC_INSTANCE_UNKNOWN, "error", "merchant instance unknown"); - hc->is_post = (0 == strcasecmp (method, - MHD_HTTP_METHOD_POST)); - if (hc->is_post) + hc->has_body = ( (0 == strcasecmp (method, + MHD_HTTP_METHOD_POST)) || + (0 == strcasecmp (method, + MHD_HTTP_METHOD_PATCH)) ); + if (hc->has_body) { /* FIXME: Maybe check for maximum upload size here and refuse if it is too big? (Note: maximum upload diff --git a/src/backend/taler-merchant-httpd.h b/src/backend/taler-merchant-httpd.h index 5f95778c..1d5715d9 100644 --- a/src/backend/taler-merchant-httpd.h +++ b/src/backend/taler-merchant-httpd.h @@ -285,7 +285,7 @@ struct TMH_HandlerContext char *infix; /** - * JSON body that was uploaded, NULL if @e is_post is false. + * JSON body that was uploaded, NULL if @e has_body is false. */ json_t *json; @@ -296,9 +296,11 @@ struct TMH_HandlerContext void *json_parse_context; /** - * Set to true if this is an #MHD_HTTP_METHOD_POST request. + * Set to true if this is an #MHD_HTTP_METHOD_POST or #MHD_HTTP_METHOD_PATCH request. + * (In principle #MHD_HTTP_METHOD_PUT may also belong, but we do not have PUTs + * in the API today, so we do not test for PUT.) */ - bool is_post; + bool has_body; }; |