exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit c4cc1ea13dccd7498b67f311d01c7c8b27838c5d
parent 80660f2d882391118d7ad41f73d495d3f84e2244
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon, 19 Dec 2022 14:37:20 +0100

-fix 200 vs. 204 in fakebank

Diffstat:
Msrc/bank-lib/fakebank.c | 38++++++++++++++++++++++++++------------
1 file changed, 26 insertions(+), 12 deletions(-)

diff --git a/src/bank-lib/fakebank.c b/src/bank-lib/fakebank.c @@ -2257,23 +2257,20 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, if ( (NULL == t) || overflow) { - GNUNET_free (debit_payto); if (GNUNET_TIME_relative_is_zero (ha.lp_timeout) && (0 < ha.delta)) { GNUNET_assert (0 == pthread_mutex_unlock (&h->big_lock)); if (overflow) + { + GNUNET_free (debit_payto); return TALER_MHD_reply_with_ec ( connection, TALER_EC_BANK_ANCIENT_TRANSACTION_GONE, NULL); - return TALER_MHD_REPLY_JSON_PACK ( - connection, - MHD_HTTP_OK, - GNUNET_JSON_pack_array_steal ( - "outgoing_transactions", - history)); + } + goto finish; } *con_cls = &special_ptr; start_lp (h, @@ -2285,6 +2282,7 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, GNUNET_assert (0 == pthread_mutex_unlock (&h->big_lock)); json_decref (history); + GNUNET_free (debit_payto); return MHD_YES; } if (t->debit_account != acc) @@ -2397,6 +2395,16 @@ handle_debit_history (struct TALER_FAKEBANK_Handle *h, } GNUNET_assert (0 == pthread_mutex_unlock (&h->big_lock)); +finish: + if (0 == json_array_size (history)) + { + json_decref (history); + return TALER_MHD_reply_static (connection, + MHD_HTTP_NO_CONTENT, + NULL, + NULL, + 0); + } GNUNET_free (debit_payto); return TALER_MHD_REPLY_JSON_PACK (connection, MHD_HTTP_OK, @@ -2500,11 +2508,7 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h, connection, TALER_EC_BANK_ANCIENT_TRANSACTION_GONE, NULL); - return TALER_MHD_REPLY_JSON_PACK (connection, - MHD_HTTP_OK, - GNUNET_JSON_pack_array_steal ( - "incoming_transactions", - history)); + goto finish; } *con_cls = &special_ptr; start_lp (h, @@ -2608,6 +2612,16 @@ handle_credit_history (struct TALER_FAKEBANK_Handle *h, } GNUNET_assert (0 == pthread_mutex_unlock (&h->big_lock)); +finish: + if (0 == json_array_size (history)) + { + json_decref (history); + return TALER_MHD_reply_static (connection, + MHD_HTTP_NO_CONTENT, + NULL, + NULL, + 0); + } return TALER_MHD_REPLY_JSON_PACK (connection, MHD_HTTP_OK, GNUNET_JSON_pack_array_steal (