aboutsummaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_purses_get.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2022-12-29 10:10:25 +0100
committerChristian Grothoff <christian@grothoff.org>2022-12-29 10:10:25 +0100
commitfa840f7071da56c4794c887b813ca2a6f491f836 (patch)
tree7b126d737aa1fdc3df2ea60f76540af6011ea049 /src/exchange/taler-exchange-httpd_purses_get.c
parent5828eead705965b5ac87cfad78636b1363b16396 (diff)
parent915d6ddfaa638a9759766eaf69dfef7e8e17474b (diff)
Merge branch 'master' of git+ssh://git.taler.net/exchange
Diffstat (limited to 'src/exchange/taler-exchange-httpd_purses_get.c')
-rw-r--r--src/exchange/taler-exchange-httpd_purses_get.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/exchange/taler-exchange-httpd_purses_get.c b/src/exchange/taler-exchange-httpd_purses_get.c
index 8384086b..e36b9a10 100644
--- a/src/exchange/taler-exchange-httpd_purses_get.c
+++ b/src/exchange/taler-exchange-httpd_purses_get.c
@@ -207,6 +207,7 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
const char *const args[2])
{
struct GetContext *gc = rc->rh_ctx;
+ bool purse_deleted;
MHD_RESULT res;
if (NULL == gc)
@@ -312,7 +313,8 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
&gc->amount,
&gc->deposited,
&gc->h_contract,
- &gc->merge_timestamp);
+ &gc->merge_timestamp,
+ &purse_deleted);
switch (qs)
{
case GNUNET_DB_STATUS_HARD_ERROR:
@@ -367,11 +369,14 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
gc->eh = eh2;
}
}
- if (GNUNET_TIME_absolute_is_past (gc->purse_expiration.abs_time))
+ if (GNUNET_TIME_absolute_is_past (gc->purse_expiration.abs_time) ||
+ purse_deleted)
{
return TALER_MHD_reply_with_error (rc->connection,
MHD_HTTP_GONE,
- TALER_EC_EXCHANGE_GENERIC_PURSE_EXPIRED,
+ purse_deleted
+ ? TALER_EC_EXCHANGE_GENERIC_PURSE_DELETED
+ : TALER_EC_EXCHANGE_GENERIC_PURSE_EXPIRED,
GNUNET_TIME_timestamp2s (
gc->purse_expiration));
}