Skip to content

Add prerender-aspnetcore middleware for ASP.NET Core 8+#4

Open
Lasalot wants to merge 4 commits intomainfrom
add-prerender-aspnetcore
Open

Add prerender-aspnetcore middleware for ASP.NET Core 8+#4
Lasalot wants to merge 4 commits intomainfrom
add-prerender-aspnetcore

Conversation

@Lasalot
Copy link
Copy Markdown
Collaborator

@Lasalot Lasalot commented Apr 17, 2026

Summary

  • IMiddleware + IHttpClientFactory pattern — idiomatic ASP.NET Core, avoids socket exhaustion
  • Zero external dependencies beyond the ASP.NET Core framework
  • Settings via IConfiguration / appsettings.json (Prerender:Token, Prerender:ServiceUrl)
  • Same bot list and extension ignore list as other integrations (hapi, koa, django)
  • xUnit tests using Microsoft.AspNetCore.TestHost with a mock HttpMessageHandler
  • NuGet package metadata ready (Prerender.AspNetCore v1.0.0)

Usage

builder.Services.AddPrerender();
app.UsePrerender();
{ "Prerender": { "Token": "your-token" } }

Test plan

  • dotnet test passes all 7 test cases
  • Browser UA → passes through
  • Bot UA → receives prerendered response
  • Bot UA + static asset → passes through
  • _escaped_fragment_ → prerendered
  • X-Bufferbot header → prerendered
  • POST + bot UA → passes through
  • Network error → graceful fallback
  • dotnet pack produces valid NuGet package

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant