// Copyright © WireMock.Net using WireMock.Matchers; using WireMock.Net.Extensions.Routing.Delegates; using WireMock.RequestBuilders; using WireMock.ResponseBuilders; using WireMock.Server; namespace WireMock.Net.Extensions.Routing.Extensions; /// /// Provides extension methods for mapping HTTP requests to handlers in . /// public static class WireMockServerExtensions { /// /// Maps a request to a WireMock.Net server using the specified method, path matcher, and request handler. /// /// The WireMock.Net server to extend. /// The HTTP method to match. /// The matcher for the request path. /// The handler to process the request. /// The current instance. public static WireMockServer Map( this WireMockServer source, string method, IStringMatcher pathMatcher, WireMockHttpRequestHandler httpRequestHandler) { source .Given(Request.Create().WithPath(pathMatcher).UsingMethod(method)) .RespondWith(Response.Create().WithCallback(req => httpRequestHandler(req))); return source; } }