summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-04-17 20:33:24 +0200
committerChristian Grothoff <christian@grothoff.org>2020-04-17 20:33:24 +0200
commited553c1bd7b3a26de30761fe85ad4e9639a06315 (patch)
treec802a0c40b12aac86d6bd538dacda8b6ee383e2b /src
parent49129bbcb160f01833e1c328b58ea5d7eb548423 (diff)
downloadmerchant-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.c10
-rw-r--r--src/backend/taler-merchant-httpd.h8
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;
};