Skip to content

fix(http): snapshot handler options - #371

Merged
thomhurst merged 1 commit into
mainfrom
issue-332-http-options-snapshot
Aug 27, 2026
Merged

fix(http): snapshot handler options#371
thomhurst merged 1 commit into
mainfrom
issue-332-http-options-snapshot

Conversation

@thomhurst

Copy link
Copy Markdown
Owner

Summary

  • snapshot replay scalars, delegates, routing values, and endpoints into immutable handler-pipeline options
  • freeze the direct AddShield(shield, options) overload at registration while preserving per-handler option factories
  • keep configuration reload as the explicit update path and document the contract

Closes #332

Validation

  • dotnet build Kevlar.slnx -c Release
  • dotnet run --project tests/Kevlar.Tests -c Release -f net8.0 --no-build -- --timeout 5m (1,199 passed)
  • dotnet run --project tests/Kevlar.Tests -c Release -f net10.0 --no-build -- --timeout 5m (1,230 passed)
  • dotnet run --project tests/Kevlar.IntegrationTests -c Release --no-build -- --timeout 5m (166 passed)
  • allocation suites on .NET 8 and .NET 10
  • pwsh scripts/Build-ApiDocs.ps1
  • docs, API-doc, and changelog verification
  • packed package snippets on .NET 8 and .NET 10 (184 each)
  • npm run build

Snapshot allocation occurs only during registration/pipeline construction; request execution reads immutable fields and the materialized endpoint array.

@coderabbitai

coderabbitai Bot commented Aug 27, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ca270eb6-15a9-4e0a-9053-9c39df6ea282


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@thomhurst
thomhurst force-pushed the issue-332-http-options-snapshot branch from 45d0c27 to 1af48c2 Compare August 27, 2026 01:16
@thomhurst
thomhurst merged commit 0a70187 into main Aug 27, 2026
13 of 14 checks passed
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.

design(http): ShieldHttpHandlerOptions are read live per request — snapshot at registration

1 participant