From ed87b6b845968d18d3a66614294839d7f0cd711f Mon Sep 17 00:00:00 2001 From: Charles Lowell Date: Fri, 17 Mar 2017 15:38:18 -0700 Subject: [PATCH] Use to enable relative paths in WebSPA --- src/Web/WebSPA/AppSettings.cs | 1 + .../Client/modules/shared/services/configuration.service.ts | 3 ++- src/Web/WebSPA/Server/Controllers/HomeController.cs | 1 + src/Web/WebSPA/Startup.cs | 3 +++ src/Web/WebSPA/Views/Shared/_Layout.cshtml | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Web/WebSPA/AppSettings.cs b/src/Web/WebSPA/AppSettings.cs index 19e2b5cfe..9fab0d981 100644 --- a/src/Web/WebSPA/AppSettings.cs +++ b/src/Web/WebSPA/AppSettings.cs @@ -7,6 +7,7 @@ namespace eShopOnContainers.WebSPA { public class AppSettings { + public string BaseUrl { get; set; } public string CatalogUrl { get; set; } public string OrderingUrl { get; set; } public string IdentityUrl { get; set; } diff --git a/src/Web/WebSPA/Client/modules/shared/services/configuration.service.ts b/src/Web/WebSPA/Client/modules/shared/services/configuration.service.ts index 6921fd167..12fa85815 100644 --- a/src/Web/WebSPA/Client/modules/shared/services/configuration.service.ts +++ b/src/Web/WebSPA/Client/modules/shared/services/configuration.service.ts @@ -22,7 +22,8 @@ export class ConfigurationService { constructor(private http: Http, private storageService: StorageService) { } load() { - let url = "/Home/Configuration"; + const baseURI = document.baseURI.endsWith('/') ? document.baseURI : `${document.baseURI}/`; + let url = `${baseURI}Home/Configuration`; this.http.get(url).subscribe((response: Response) => { console.log('server settings loaded'); this.serverSettings = response.json(); diff --git a/src/Web/WebSPA/Server/Controllers/HomeController.cs b/src/Web/WebSPA/Server/Controllers/HomeController.cs index 7e78cd41a..c31012f83 100644 --- a/src/Web/WebSPA/Server/Controllers/HomeController.cs +++ b/src/Web/WebSPA/Server/Controllers/HomeController.cs @@ -22,6 +22,7 @@ namespace eShopConContainers.WebSPA.Server.Controllers public IActionResult Index() { ViewBag.HashedMain = GetHashedMainDotJs(); + ViewBag.BaseUrl = _settings.Value.BaseUrl; return View(); } diff --git a/src/Web/WebSPA/Startup.cs b/src/Web/WebSPA/Startup.cs index 1386849f7..6315cf14f 100644 --- a/src/Web/WebSPA/Startup.cs +++ b/src/Web/WebSPA/Startup.cs @@ -32,6 +32,9 @@ namespace eShopConContainers.WebSPA } Configuration = builder.Build(); + + var localPath = new Uri(Configuration["ASPNETCORE_URLS"])?.LocalPath ?? "/"; + Configuration["BaseUrl"] = localPath; } public static IConfigurationRoot Configuration { get; set;} diff --git a/src/Web/WebSPA/Views/Shared/_Layout.cshtml b/src/Web/WebSPA/Views/Shared/_Layout.cshtml index c7d974e27..582064ebb 100644 --- a/src/Web/WebSPA/Views/Shared/_Layout.cshtml +++ b/src/Web/WebSPA/Views/Shared/_Layout.cshtml @@ -5,7 +5,7 @@ eShopConContainers.WebSPA - +