commit 52f7f4f34180a70e85031a48bbc3eb893a5b3f9d
parent d50a4a372407525e9fe916317f1a126b9cc241c2
Author: Florian Dold <florian@dold.me>
Date: Mon, 17 Nov 2025 14:56:55 +0100
allow overriding SPA location
Diffstat:
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