[PR #1344] [MERGED] Add new package WireMock.Net.Extensions.Routing which provides minimal-API-style routing for WireMock.Net #1349

Closed
opened 2025-12-29 09:19:23 +01:00 by adam · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/wiremock/WireMock.Net/pull/1344
Author: @GennadyGS
Created: 8/10/2025
Status: Merged
Merged: 8/18/2025
Merged by: @StefH

Base: masterHead: AddRoutingPackage


📝 Commits (10+)

  • 61001c9 Add new package WireMock.Net.Extensions.Routing
  • 0b67a09 Update documentation for WireMock.Net.Extensions.Routing
  • 823258c Cleanup imports
  • 61d8a62 Add header to all source files inside WireMock.Net.Extensions.Routing
  • ed63319 Add header to all source files inside WireMock.Net.Extensions.Routing.Tests
  • 8b588c2 Merge remote-tracking branch 'upstream/master' into AddRoutingPackage
  • 0f0471e Revert unintended changes
  • 214414e Remove redundant build configurations
  • 5506c48 Remove incorrect links from documentation
  • 91e361f Update nuget package references

📊 Changes

20 files changed (+1118 additions, -0 deletions)

View changed files

📝 WireMock.Net Solution.sln (+14 -0)
src/WireMock.Net.Extensions.Routing/Delegates/WireMockHttpRequestHandler.cs (+10 -0)
src/WireMock.Net.Extensions.Routing/Delegates/WireMockMiddleware.cs (+10 -0)
src/WireMock.Net.Extensions.Routing/Extensions/DictionaryExtensions.cs (+19 -0)
src/WireMock.Net.Extensions.Routing/Extensions/HttpResponseExtensions.cs (+34 -0)
src/WireMock.Net.Extensions.Routing/Extensions/RequestMessageExtensions.cs (+16 -0)
src/WireMock.Net.Extensions.Routing/Extensions/StringExtensions.cs (+9 -0)
src/WireMock.Net.Extensions.Routing/Extensions/TaskExtensions.cs (+39 -0)
src/WireMock.Net.Extensions.Routing/Extensions/WireMockHttpRequestHandlerExtensions.cs (+17 -0)
src/WireMock.Net.Extensions.Routing/Extensions/WireMockRouterExtensions.cs (+224 -0)
src/WireMock.Net.Extensions.Routing/Extensions/WireMockServerExtensions.cs (+35 -0)
src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo.cs (+29 -0)
src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs (+24 -0)
src/WireMock.Net.Extensions.Routing/README.md (+138 -0)
src/WireMock.Net.Extensions.Routing/Utils/RoutePattern.cs (+107 -0)
src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj (+30 -0)
src/WireMock.Net.Extensions.Routing/WireMockRouter.cs (+153 -0)
src/WireMock.Net.Extensions.Routing/WireMockServerRouterBuilder.cs (+73 -0)
test/WireMock.Net.Extensions.Routing.Tests/Tests/WireMockRouterTests.cs (+100 -0)
test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj (+37 -0)

📄 Description

WireMock.Net.Extensions.Routing extends WireMock.Net with modern, minimal-API-style routing for .NET. It provides extension methods for expressive, maintainable, and testable HTTP routing, inspired by ASP.NET Core Minimal APIs.

References

#1340

Submitter checklist

  • Recommended: Join WireMock Slack to get any help in #help-contributing or a project-specific channel like #wiremock-java
  • The PR request is well described and justified, including the body and the references
  • The PR title represents the desired changelog entry
  • The repository's code style is followed (see the contributing guide)
  • Test coverage that demonstrates that the change works as expected
  • For new features, there's necessary documentation in this pull request or in a subsequent PR to wiremock.org

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/wiremock/WireMock.Net/pull/1344 **Author:** [@GennadyGS](https://github.com/GennadyGS) **Created:** 8/10/2025 **Status:** ✅ Merged **Merged:** 8/18/2025 **Merged by:** [@StefH](https://github.com/StefH) **Base:** `master` ← **Head:** `AddRoutingPackage` --- ### 📝 Commits (10+) - [`61001c9`](https://github.com/wiremock/WireMock.Net/commit/61001c9e2981b14f9c19e1bd05ed3b114ee4ddb5) Add new package WireMock.Net.Extensions.Routing - [`0b67a09`](https://github.com/wiremock/WireMock.Net/commit/0b67a091d46f77568debd1bc4529aa1237b64f7c) Update documentation for WireMock.Net.Extensions.Routing - [`823258c`](https://github.com/wiremock/WireMock.Net/commit/823258c4efd88206a0e7199c258d349c49eac535) Cleanup imports - [`61d8a62`](https://github.com/wiremock/WireMock.Net/commit/61d8a6255d20fc0eeff49aec12c028636e499f56) Add header to all source files inside WireMock.Net.Extensions.Routing - [`ed63319`](https://github.com/wiremock/WireMock.Net/commit/ed633198d15e79258e4b811d6c14db777bb4847d) Add header to all source files inside WireMock.Net.Extensions.Routing.Tests - [`8b588c2`](https://github.com/wiremock/WireMock.Net/commit/8b588c285d094dc1526e544c4d71dfa79ddd3a18) Merge remote-tracking branch 'upstream/master' into AddRoutingPackage - [`0f0471e`](https://github.com/wiremock/WireMock.Net/commit/0f0471e032c4d0a653a70651fe9a2b3a36119b12) Revert unintended changes - [`214414e`](https://github.com/wiremock/WireMock.Net/commit/214414e47ac4cfa1c7fc8cf839e62a2bf705aa92) Remove redundant build configurations - [`5506c48`](https://github.com/wiremock/WireMock.Net/commit/5506c48f41918cbe7e703611019b4f5485d2c19b) Remove incorrect links from documentation - [`91e361f`](https://github.com/wiremock/WireMock.Net/commit/91e361f6ec8e03d29b3100b5842288b2fe8fc8cf) Update nuget package references ### 📊 Changes **20 files changed** (+1118 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `WireMock.Net Solution.sln` (+14 -0) ➕ `src/WireMock.Net.Extensions.Routing/Delegates/WireMockHttpRequestHandler.cs` (+10 -0) ➕ `src/WireMock.Net.Extensions.Routing/Delegates/WireMockMiddleware.cs` (+10 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/DictionaryExtensions.cs` (+19 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/HttpResponseExtensions.cs` (+34 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/RequestMessageExtensions.cs` (+16 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/StringExtensions.cs` (+9 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/TaskExtensions.cs` (+39 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/WireMockHttpRequestHandlerExtensions.cs` (+17 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/WireMockRouterExtensions.cs` (+224 -0) ➕ `src/WireMock.Net.Extensions.Routing/Extensions/WireMockServerExtensions.cs` (+35 -0) ➕ `src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo.cs` (+29 -0) ➕ `src/WireMock.Net.Extensions.Routing/Models/WireMockRequestInfo{TBody}.cs` (+24 -0) ➕ `src/WireMock.Net.Extensions.Routing/README.md` (+138 -0) ➕ `src/WireMock.Net.Extensions.Routing/Utils/RoutePattern.cs` (+107 -0) ➕ `src/WireMock.Net.Extensions.Routing/WireMock.Net.Extensions.Routing.csproj` (+30 -0) ➕ `src/WireMock.Net.Extensions.Routing/WireMockRouter.cs` (+153 -0) ➕ `src/WireMock.Net.Extensions.Routing/WireMockServerRouterBuilder.cs` (+73 -0) ➕ `test/WireMock.Net.Extensions.Routing.Tests/Tests/WireMockRouterTests.cs` (+100 -0) ➕ `test/WireMock.Net.Extensions.Routing.Tests/WireMock.Net.Extensions.Routing.Tests.csproj` (+37 -0) </details> ### 📄 Description **WireMock.Net.Extensions.Routing** extends [WireMock.Net](https://github.com/wiremock/wiremock) with modern, minimal-API-style routing for .NET. It provides extension methods for expressive, maintainable, and testable HTTP routing, inspired by [ASP.NET Core Minimal APIs](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/minimal-apis?view=aspnetcore-9.0). ## References #1340 ## Submitter checklist - [ ] Recommended: Join [WireMock Slack](https://slack.wiremock.org/) to get any help in `#help-contributing` or a project-specific channel like `#wiremock-java` - [x] The PR request is well described and justified, including the body and the references - [x] The PR title represents the desired changelog entry - [x] The repository's code style is followed (see the contributing guide) - [x] Test coverage that demonstrates that the change works as expected - [x] For new features, there's necessary documentation in this pull request or in a subsequent PR to [wiremock.org](https://github.com/wiremock/wiremock.org) <!-- Put an `x` into the [ ] to show you have filled the information. The template comes from https://github.com/wiremock/.github/blob/main/.github/pull_request_template.md You can override it by creating .github/pull_request_template.md in your own repository --> --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
adam added the pull-request label 2025-12-29 09:19:23 +01:00
adam closed this issue 2025-12-29 09:19:23 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/WireMock.Net#1349