Refactor configuration to use distinct ApiUrl and BaseUrl

Updated to separate ApiUrl from BaseUrl in appsettings for clarity. Modified references in _Host.cshtml and Program.cs accordingly to streamline configuration and reduce potential for errors.
This commit is contained in:
Sipke Schoorstra 2024-12-28 11:04:38 +01:00
parent 710fe87117
commit 07c46ae5a7
3 changed files with 23 additions and 21 deletions

View file

@ -3,8 +3,7 @@
@inject IConfiguration Configuration;
@{
var baseUrl = Configuration["Hosting:BaseUrl"]!;
var apiUrl = baseUrl + Url.Content("~/elsa/api");
var basePath = Configuration["Hosting:BasePath"]!;
var apiUrl = Configuration["Hosting:ApiUrl"]!;
}
<!DOCTYPE html>
@ -15,20 +14,20 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>Elsa Studio 3.0</title>
<base href="/"/>
<link rel="apple-touch-icon" sizes="180x180" href="@basePath/_content/Elsa.Studio.Shell/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="@basePath/_content/Elsa.Studio.Shell/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="@basePath/_content/Elsa.Studio.Shell/favicon-16x16.png">
<link rel="manifest" href="@basePath/_content/Elsa.Studio.Shell/site.webmanifest">
<link rel="apple-touch-icon" sizes="180x180" href="@baseUrl/_content/Elsa.Studio.Shell/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="@baseUrl/_content/Elsa.Studio.Shell/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="@baseUrl/_content/Elsa.Studio.Shell/favicon-16x16.png">
<link rel="manifest" href="@baseUrl/_content/Elsa.Studio.Shell/site.webmanifest">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@300;400;500;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap" rel="stylesheet">
<link href="https://fonts.googleapis.com/css2?family=Grandstander:wght@100&display=swap" rel="stylesheet">
<link href="@basePath/_content/MudBlazor/MudBlazor.min.css" rel="stylesheet"/>
<link href="@basePath/_content/CodeBeam.MudBlazor.Extensions/MudExtensions.min.css" rel="stylesheet"/>
<link href="@basePath/_content/Radzen.Blazor/css/material-base.css" rel="stylesheet">
<link href="@basePath/_content/Elsa.Studio.Shell/css/shell.css" rel="stylesheet">
<link href="@baseUrl/_content/MudBlazor/MudBlazor.min.css" rel="stylesheet"/>
<link href="@baseUrl/_content/CodeBeam.MudBlazor.Extensions/MudExtensions.min.css" rel="stylesheet"/>
<link href="@baseUrl/_content/Radzen.Blazor/css/material-base.css" rel="stylesheet">
<link href="@baseUrl/_content/Elsa.Studio.Shell/css/shell.css" rel="stylesheet">
<link href="ElsaStudioWebAssembly.styles.css" rel="stylesheet">
</head>
@ -44,19 +43,19 @@
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<script src="@basePath/_content/BlazorMonaco/jsInterop.js"></script>
<script src="@basePath/_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
<script src="@basePath/_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
<script src="@basePath/_content/MudBlazor/MudBlazor.min.js"></script>
<script src="@basePath/_content/CodeBeam.MudBlazor.Extensions/MudExtensions.min.js"></script>
<script src="@basePath/_content/Radzen.Blazor/Radzen.Blazor.js"></script>
<script src="@baseUrl/_content/BlazorMonaco/jsInterop.js"></script>
<script src="@baseUrl/_content/BlazorMonaco/lib/monaco-editor/min/vs/loader.js"></script>
<script src="@baseUrl/_content/BlazorMonaco/lib/monaco-editor/min/vs/editor/editor.main.js"></script>
<script src="@baseUrl/_content/MudBlazor/MudBlazor.min.js"></script>
<script src="@baseUrl/_content/CodeBeam.MudBlazor.Extensions/MudExtensions.min.js"></script>
<script src="@baseUrl/_content/Radzen.Blazor/Radzen.Blazor.js"></script>
<script>
window.getClientConfig = function() { return {
"apiUrl": "@apiUrl",
"basePath": "@basePath"
"baseUrl": "@baseUrl"
} };
</script>
<script src="@basePath/_framework/blazor.webassembly.js"></script>
<script src="@baseUrl/_framework/blazor.webassembly.js"></script>
</body>
</html>

View file

@ -130,7 +130,11 @@ services
if (useCaching)
http.UseCache();
http.ConfigureHttpOptions = options => configuration.GetSection("Http").Bind(options);
http.ConfigureHttpOptions = options =>
{
options.BaseUrl = new Uri(configuration["Hosting:BaseUrl"]!);
options.BasePath = configuration["Http:BasePath"];
};
})
.UseEmail(email => email.ConfigureOptions = options => configuration.GetSection("Smtp").Bind(options))
.UseWebhooks(webhooks => webhooks.ConfigureSinks = options => builder.Configuration.GetSection("Webhooks:Sinks").Bind(options))

View file

@ -18,7 +18,7 @@
"DatabaseProvider": "Sqlite",
"Hosting": {
"BaseUrl": "https://localhost:8080",
"BasePath": ""
"ApiUrl": "https://localhost:8080/elsa/api"
},
"Identity": {
"Tokens": {
@ -81,7 +81,6 @@
"DefaultSender": "noreply@crmservices.com"
},
"Http": {
"BaseUrl": "https://localhost:5001",
"BasePath": "/api/workflows"
},
"Webhooks": {