diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-12-14 15:42:32 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-12-14 15:42:32 +0100 |
commit | b5d88fc2d1832fd27bdd7df0860c07ae3c61312c (patch) | |
tree | bc279533511c65d9f5dabdb1d03d7ee0bf156888 /src/mhd | |
parent | 468fc9d1a1bcf3eb771519a746c5e3218ee121e3 (diff) |
activating implementation of #6175
Diffstat (limited to 'src/mhd')
-rw-r--r-- | src/mhd/mhd_responses.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/mhd/mhd_responses.c b/src/mhd/mhd_responses.c index 5ed82cd2a..9e6986a37 100644 --- a/src/mhd/mhd_responses.c +++ b/src/mhd/mhd_responses.c @@ -443,6 +443,37 @@ TALER_MHD_reply_with_error (struct MHD_Connection *connection, /** + * Send a response indicating an error. The HTTP status code is + * to be derived from the @a ec. + * + * @param connection the MHD connection to use + * @param ec error code uniquely identifying the error + * @param detail additional optional detail about the error + * @return a MHD result code + */ +MHD_RESULT +TALER_MHD_reply_with_ec (struct MHD_Connection *connection, + enum TALER_ErrorCode ec, + const char *detail) +{ + unsigned int hc = TALER_ErrorCode_get_http_status (ec); + + if ( (0 == hc) || + (UINT_MAX == hc) ) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "Invalid Taler error code %d provided for response!\n", + (int) ec); + hc = MHD_HTTP_INTERNAL_SERVER_ERROR; + } + return TALER_MHD_reply_with_error (connection, + hc, + ec, + detail); +} + + +/** * Send a response indicating that the request was too big. * * @param connection the MHD connection to use |