mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-01 07:03:29 +02:00
Add AdditionalServiceRegistration action for custom ASP.NET Core DI setup (#611)
This commit is contained in:
@@ -59,6 +59,7 @@ namespace WireMock.Net.ConsoleApplication
|
|||||||
//},
|
//},
|
||||||
PreWireMockMiddlewareInit = app => { System.Console.WriteLine($"PreWireMockMiddlewareInit : {app.GetType()}"); },
|
PreWireMockMiddlewareInit = app => { System.Console.WriteLine($"PreWireMockMiddlewareInit : {app.GetType()}"); },
|
||||||
PostWireMockMiddlewareInit = app => { System.Console.WriteLine($"PostWireMockMiddlewareInit : {app.GetType()}"); },
|
PostWireMockMiddlewareInit = app => { System.Console.WriteLine($"PostWireMockMiddlewareInit : {app.GetType()}"); },
|
||||||
|
AdditionalServiceRegistration = services => { System.Console.WriteLine($"AdditionalServiceRegistration : {services.GetType()}"); },
|
||||||
Logger = new WireMockConsoleLogger(),
|
Logger = new WireMockConsoleLogger(),
|
||||||
|
|
||||||
HandlebarsRegistrationCallback = (handlebarsContext, fileSystemHandler) =>
|
HandlebarsRegistrationCallback = (handlebarsContext, fileSystemHandler) =>
|
||||||
|
|||||||
@@ -66,6 +66,8 @@ namespace WireMock.Owin
|
|||||||
services.AddSingleton<IMappingMatcher, MappingMatcher>();
|
services.AddSingleton<IMappingMatcher, MappingMatcher>();
|
||||||
services.AddSingleton<IOwinRequestMapper, OwinRequestMapper>();
|
services.AddSingleton<IOwinRequestMapper, OwinRequestMapper>();
|
||||||
services.AddSingleton<IOwinResponseMapper, OwinResponseMapper>();
|
services.AddSingleton<IOwinResponseMapper, OwinResponseMapper>();
|
||||||
|
|
||||||
|
_wireMockMiddlewareOptions.AdditionalServiceRegistration?.Invoke(services);
|
||||||
})
|
})
|
||||||
.Configure(appBuilder =>
|
.Configure(appBuilder =>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using WireMock.Util;
|
|||||||
using Owin;
|
using Owin;
|
||||||
#else
|
#else
|
||||||
using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder;
|
using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace WireMock.Owin
|
namespace WireMock.Owin
|
||||||
@@ -36,6 +37,10 @@ namespace WireMock.Owin
|
|||||||
|
|
||||||
Action<IAppBuilder> PostWireMockMiddlewareInit { get; set; }
|
Action<IAppBuilder> PostWireMockMiddlewareInit { get; set; }
|
||||||
|
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
Action<IServiceCollection> AdditionalServiceRegistration { get; set; }
|
||||||
|
#endif
|
||||||
|
|
||||||
IFileSystemHandler FileSystemHandler { get; set; }
|
IFileSystemHandler FileSystemHandler { get; set; }
|
||||||
|
|
||||||
bool? AllowBodyForAllHttpMethods { get; set; }
|
bool? AllowBodyForAllHttpMethods { get; set; }
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ using WireMock.Util;
|
|||||||
using Owin;
|
using Owin;
|
||||||
#else
|
#else
|
||||||
using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder;
|
using IAppBuilder = Microsoft.AspNetCore.Builder.IApplicationBuilder;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace WireMock.Owin
|
namespace WireMock.Owin
|
||||||
@@ -36,6 +37,10 @@ namespace WireMock.Owin
|
|||||||
|
|
||||||
public Action<IAppBuilder> PostWireMockMiddlewareInit { get; set; }
|
public Action<IAppBuilder> PostWireMockMiddlewareInit { get; set; }
|
||||||
|
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
public Action<IServiceCollection> AdditionalServiceRegistration { get; set; }
|
||||||
|
#endif
|
||||||
|
|
||||||
/// <inheritdoc cref="IWireMockMiddlewareOptions.FileSystemHandler"/>
|
/// <inheritdoc cref="IWireMockMiddlewareOptions.FileSystemHandler"/>
|
||||||
public IFileSystemHandler FileSystemHandler { get; set; }
|
public IFileSystemHandler FileSystemHandler { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -242,6 +242,7 @@ namespace WireMock.Server
|
|||||||
_mappingToFileSaver = new MappingToFileSaver(_settings, _mappingConverter);
|
_mappingToFileSaver = new MappingToFileSaver(_settings, _mappingConverter);
|
||||||
|
|
||||||
#if USE_ASPNETCORE
|
#if USE_ASPNETCORE
|
||||||
|
_options.AdditionalServiceRegistration = _settings.AdditionalServiceRegistration;
|
||||||
_httpServer = new AspNetCoreSelfHost(_options, urlOptions);
|
_httpServer = new AspNetCoreSelfHost(_options, urlOptions);
|
||||||
#else
|
#else
|
||||||
_httpServer = new OwinSelfHost(_options, urlOptions);
|
_httpServer = new OwinSelfHost(_options, urlOptions);
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ using JetBrains.Annotations;
|
|||||||
using WireMock.Handlers;
|
using WireMock.Handlers;
|
||||||
using WireMock.Logging;
|
using WireMock.Logging;
|
||||||
using WireMock.Matchers;
|
using WireMock.Matchers;
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace WireMock.Settings
|
namespace WireMock.Settings
|
||||||
{
|
{
|
||||||
@@ -109,6 +112,14 @@ namespace WireMock.Settings
|
|||||||
[PublicAPI]
|
[PublicAPI]
|
||||||
Action<object> PostWireMockMiddlewareInit { get; set; }
|
Action<object> PostWireMockMiddlewareInit { get; set; }
|
||||||
|
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
/// <summary>
|
||||||
|
/// Action which is called with IServiceCollection when ASP.NET Core DI is being configured. [Optional]
|
||||||
|
/// </summary>
|
||||||
|
[PublicAPI]
|
||||||
|
Action<IServiceCollection> AdditionalServiceRegistration { get; set; }
|
||||||
|
#endif
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The IWireMockLogger which logs Debug, Info, Warning or Error
|
/// The IWireMockLogger which logs Debug, Info, Warning or Error
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ using JetBrains.Annotations;
|
|||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using WireMock.Handlers;
|
using WireMock.Handlers;
|
||||||
using WireMock.Logging;
|
using WireMock.Logging;
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
#endif
|
||||||
|
|
||||||
namespace WireMock.Settings
|
namespace WireMock.Settings
|
||||||
{
|
{
|
||||||
@@ -79,6 +82,13 @@ namespace WireMock.Settings
|
|||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
public Action<object> PostWireMockMiddlewareInit { get; set; }
|
public Action<object> PostWireMockMiddlewareInit { get; set; }
|
||||||
|
|
||||||
|
#if USE_ASPNETCORE
|
||||||
|
/// <inheritdoc cref="IWireMockServerSettings.AdditionalServiceRegistration"/>
|
||||||
|
[PublicAPI]
|
||||||
|
[JsonIgnore]
|
||||||
|
public Action<IServiceCollection> AdditionalServiceRegistration { get; set; }
|
||||||
|
#endif
|
||||||
|
|
||||||
/// <inheritdoc cref="IWireMockServerSettings.Logger"/>
|
/// <inheritdoc cref="IWireMockServerSettings.Logger"/>
|
||||||
[PublicAPI]
|
[PublicAPI]
|
||||||
[JsonIgnore]
|
[JsonIgnore]
|
||||||
|
|||||||
Reference in New Issue
Block a user