merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 52f7f4f34180a70e85031a48bbc3eb893a5b3f9d
parent d50a4a372407525e9fe916317f1a126b9cc241c2
Author: Florian Dold <florian@dold.me>
Date:   Mon, 17 Nov 2025 14:56:55 +0100

allow overriding SPA location

Diffstat:
Msrc/backend/taler-merchant-httpd.c | 19++++++++++++++++++-
Msrc/backend/taler-merchant-httpd_spa.c | 10+++++++---
Msrc/backend/taler-merchant-httpd_spa.h | 3++-
3 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/src/backend/taler-merchant-httpd.c b/src/backend/taler-merchant-httpd.c @@ -128,6 +128,8 @@ char *TMH_currency; char *TMH_base_url; +char *TMH_spa_dir; + char *TMH_helper_email; char *TMH_helper_sms; @@ -3206,6 +3208,21 @@ run (void *cls, return; } } + if (GNUNET_OK == + GNUNET_CONFIGURATION_get_value_string (cfg, + "merchant", + "SPA_DIR", + &TMH_spa_dir)) + { + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Loading merchant SPA from %s\n", + TMH_spa_dir); + } + else + { + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Loading merchant SPA from default location\n"); + } if (GNUNET_YES == GNUNET_CONFIGURATION_get_value_yesno (cfg, @@ -3222,7 +3239,7 @@ run (void *cls, return; } if (GNUNET_OK != - TMH_spa_init ()) + TMH_spa_init (TMH_spa_dir)) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Failed to load single page app\n"); diff --git a/src/backend/taler-merchant-httpd_spa.c b/src/backend/taler-merchant-httpd_spa.c @@ -52,10 +52,14 @@ TMH_return_spa (const struct TMH_RequestHandler *rh, enum GNUNET_GenericReturnValue -TMH_spa_init () +TMH_spa_init (const char *spa_dir) { - spa = TALER_MHD_spa_load (TALER_MERCHANT_project_data (), - "spa/"); + if (NULL == spa_dir) + spa = TALER_MHD_spa_load (TALER_MERCHANT_project_data (), + "spa/"); + else + spa = TALER_MHD_spa_load_dir (spa_dir); + if (NULL == spa) { GNUNET_break (0); diff --git a/src/backend/taler-merchant-httpd_spa.h b/src/backend/taler-merchant-httpd_spa.h @@ -42,10 +42,11 @@ TMH_return_spa (const struct TMH_RequestHandler *rh, /** * Preload and compress SPA files. * + * @param spa_dir override SPA dir * @return #GNUNET_OK on success */ enum GNUNET_GenericReturnValue -TMH_spa_init (void); +TMH_spa_init (const char *spa_dir); #endif