/// <summary>Initializes a new instance of the <see cref="WebApiToSwaggerMiddleware"/> class.</summary> /// <param name="nextDelegate">The next delegate.</param> public SwaggerMiddleware(RequestDelegate nextDelegate, IServiceProvider serviceProvider, string documentName, string path, SwaggerMiddlewareSettings settings) { _nextDelegate = nextDelegate; _documentName = documentName; _path = path; _apiDescriptionGroupCollectionProvider = serviceProvider.GetService <IApiDescriptionGroupCollectionProvider>() ?? throw new InvalidOperationException("API Explorer not registered in DI."); _documentProvider = serviceProvider.GetService <SwaggerDocumentProvider>() ?? throw new InvalidOperationException("The NSwag DI services are not registered: Call " + nameof(NSwagServiceCollectionExtensions.AddSwagger) + "() in ConfigureServices()."); _settings = settings; }