// Copyright © WireMock.Net using Microsoft.Extensions.Hosting; using Stef.Validation; using WireMock.Server; namespace WireMock.Net.AspNetCore.Middleware; /// /// A used to start/stop the /// internal class WireMockBackgroundService : BackgroundService { private readonly WireMockServerInstance _serverInstance; /// /// Creates a new using an instance /// of /// /// public WireMockBackgroundService(WireMockServerInstance serverInstance) { _serverInstance = Guard.NotNull(serverInstance); } /// protected override Task ExecuteAsync(CancellationToken stoppingToken) { _serverInstance.Start(); return Task.CompletedTask; } /// public override Task StopAsync(CancellationToken cancellationToken) { _serverInstance.Stop(); return base.StopAsync(cancellationToken); } }