mirror of
https://github.com/aljazceru/btcpayserver.git
synced 2025-12-18 22:44:29 +01:00
Add a --rootpath option
This commit is contained in:
@@ -92,11 +92,14 @@ namespace BTCPayServer.Configuration
|
|||||||
PostgresConnectionString = conf.GetOrDefault<string>("postgres", null);
|
PostgresConnectionString = conf.GetOrDefault<string>("postgres", null);
|
||||||
BundleJsCss = conf.GetOrDefault<bool>("bundlejscss", true);
|
BundleJsCss = conf.GetOrDefault<bool>("bundlejscss", true);
|
||||||
ExternalUrl = conf.GetOrDefault<Uri>("externalurl", null);
|
ExternalUrl = conf.GetOrDefault<Uri>("externalurl", null);
|
||||||
|
|
||||||
|
RootPath = conf.GetOrDefault<string>("rootpath", "/");
|
||||||
|
|
||||||
var old = conf.GetOrDefault<Uri>("internallightningnode", null);
|
var old = conf.GetOrDefault<Uri>("internallightningnode", null);
|
||||||
if(old != null)
|
if(old != null)
|
||||||
throw new ConfigException($"internallightningnode should not be used anymore, use btclightning instead");
|
throw new ConfigException($"internallightningnode should not be used anymore, use btclightning instead");
|
||||||
}
|
}
|
||||||
|
public string RootPath { get; set; }
|
||||||
public Dictionary<string, LightningConnectionString> InternalLightningByCryptoCode { get; set; } = new Dictionary<string, LightningConnectionString>();
|
public Dictionary<string, LightningConnectionString> InternalLightningByCryptoCode { get; set; } = new Dictionary<string, LightningConnectionString>();
|
||||||
|
|
||||||
public BTCPayNetworkProvider NetworkProvider { get; set; }
|
public BTCPayNetworkProvider NetworkProvider { get; set; }
|
||||||
|
|||||||
@@ -31,6 +31,9 @@ namespace BTCPayServer.Configuration
|
|||||||
app.Option("--regtest | -regtest", $"Use regtest (Deprecated, use --network instead)", CommandOptionType.BoolValue);
|
app.Option("--regtest | -regtest", $"Use regtest (Deprecated, use --network instead)", CommandOptionType.BoolValue);
|
||||||
app.Option("--chains | -c", $"Chains to support comma separated (default: btc, available: {chains})", CommandOptionType.SingleValue);
|
app.Option("--chains | -c", $"Chains to support comma separated (default: btc, available: {chains})", CommandOptionType.SingleValue);
|
||||||
app.Option("--postgres", $"Connection string to postgres database (default: sqlite is used)", CommandOptionType.SingleValue);
|
app.Option("--postgres", $"Connection string to postgres database (default: sqlite is used)", CommandOptionType.SingleValue);
|
||||||
|
app.Option("--externalurl", $"The expected external url of this service, to use if BTCPay is behind a reverse proxy (default: empty, use the incoming HTTP request to figure out)", CommandOptionType.SingleValue);
|
||||||
|
app.Option("--bundlejscss", $"Bundle javascript and css files for better performance (default: true)", CommandOptionType.SingleValue);
|
||||||
|
app.Option("--rootpath", "The root path in the URL to access BTCPay (default: /)", CommandOptionType.SingleValue);
|
||||||
foreach (var network in provider.GetAll())
|
foreach (var network in provider.GetAll())
|
||||||
{
|
{
|
||||||
var crypto = network.CryptoCode.ToLowerInvariant();
|
var crypto = network.CryptoCode.ToLowerInvariant();
|
||||||
@@ -38,8 +41,6 @@ namespace BTCPayServer.Configuration
|
|||||||
app.Option($"--{crypto}explorercookiefile", $"Path to the cookie file (default: {network.NBXplorerNetwork.DefaultSettings.DefaultCookieFile})", CommandOptionType.SingleValue);
|
app.Option($"--{crypto}explorercookiefile", $"Path to the cookie file (default: {network.NBXplorerNetwork.DefaultSettings.DefaultCookieFile})", CommandOptionType.SingleValue);
|
||||||
app.Option($"--{crypto}lightning", $"Easy configuration of lightning for the server adnistrator: Must be a unix socket of CLightning (lightning-rpc) or URL to a charge server (default: empty)", CommandOptionType.SingleValue);
|
app.Option($"--{crypto}lightning", $"Easy configuration of lightning for the server adnistrator: Must be a unix socket of CLightning (lightning-rpc) or URL to a charge server (default: empty)", CommandOptionType.SingleValue);
|
||||||
}
|
}
|
||||||
app.Option("--externalurl", $"The expected external url of this service, to use if BTCPay is behind a reverse proxy (default: empty, use the incoming HTTP request to figure out)", CommandOptionType.SingleValue);
|
|
||||||
app.Option("--bundlejscss", $"Bundle javascript and css files for better performance (default: true)", CommandOptionType.SingleValue);
|
|
||||||
return app;
|
return app;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -147,7 +147,25 @@ namespace BTCPayServer.Hosting
|
|||||||
IApplicationBuilder app,
|
IApplicationBuilder app,
|
||||||
IHostingEnvironment env,
|
IHostingEnvironment env,
|
||||||
IServiceProvider prov,
|
IServiceProvider prov,
|
||||||
|
BTCPayServerOptions options,
|
||||||
ILoggerFactory loggerFactory)
|
ILoggerFactory loggerFactory)
|
||||||
|
{
|
||||||
|
Logs.Configure(loggerFactory);
|
||||||
|
Logs.Configuration.LogInformation($"Root Path: {options.RootPath}");
|
||||||
|
if (options.RootPath.Equals("/", StringComparison.OrdinalIgnoreCase))
|
||||||
|
{
|
||||||
|
ConfigureCore(app, env, prov, loggerFactory);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
app.Map(options.RootPath, appChild =>
|
||||||
|
{
|
||||||
|
ConfigureCore(appChild, env, prov, loggerFactory);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void ConfigureCore(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider prov, ILoggerFactory loggerFactory)
|
||||||
{
|
{
|
||||||
if (env.IsDevelopment())
|
if (env.IsDevelopment())
|
||||||
{
|
{
|
||||||
@@ -155,9 +173,6 @@ namespace BTCPayServer.Hosting
|
|||||||
app.UseBrowserLink();
|
app.UseBrowserLink();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Logs.Configure(loggerFactory);
|
|
||||||
|
|
||||||
//App insight do not that by itself...
|
//App insight do not that by itself...
|
||||||
loggerFactory.AddApplicationInsights(prov, LogLevel.Information);
|
loggerFactory.AddApplicationInsights(prov, LogLevel.Information);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user