diff --git a/src/Blog/Program.cs b/src/Blog/Program.cs index 15a8d8a..05f5b87 100644 --- a/src/Blog/Program.cs +++ b/src/Blog/Program.cs @@ -27,7 +27,11 @@ app .MapGet("/rss", async (HttpContext context, IPostService postService) => { var req = context.Request; - var url = $"{req.Scheme}://{req.Host}{req.PathBase}"; + + var scheme = req.Headers["X-Forwarded-Proto"].FirstOrDefault() ?? req.Scheme; + var host = req.Headers["X-Forwarded-Host"].FirstOrDefault() ?? req.Host.Value; + + var url = $"{scheme}://{host}{req.PathBase}"; var posts = await postService.GetPostsAsync(); diff --git a/test/Blog.Tests/EndToEnd/RssTests.cs b/test/Blog.Tests/EndToEnd/RssTests.cs index 8119a63..2c4a9d2 100644 --- a/test/Blog.Tests/EndToEnd/RssTests.cs +++ b/test/Blog.Tests/EndToEnd/RssTests.cs @@ -4,7 +4,7 @@ namespace Blog.Tests.EndToEnd; public class RssTests : BlogTest { [Test] - public async Task Task_Rss_WhenFetched_ItShouldReturnRssFeed() + public async Task Rss_WhenFetched_ItShouldReturnRssFeed() { var response = await Page.APIRequest.GetAsync("/rss"); response.Status.Should().Be((int)HttpStatusCode.OK); @@ -24,7 +24,7 @@ public class RssTests : BlogTest using var xmlReader = XmlReader.Create(streamReader, settings); var feed = SyndicationFeed.Load(xmlReader); - + feed.Title.Text.Should().Be("journal"); feed.Description.Text.Should().Be("A blog by Stevan Freeborn"); feed.Items.Should().HaveCount(2);