/// <summary>Addes the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="controllerTypes">The Web API controller types.</param> /// <param name="configure">Configure the Swagger settings.</param> /// <param name="schemaGenerator">The schema generator.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, IEnumerable <Type> controllerTypes, Action <SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings> > configure = null, SwaggerJsonSchemaGenerator schemaGenerator = null) { var settings = new SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings>(); configure?.Invoke(settings); if (controllerTypes != null) { app.Use <SwaggerMiddleware>(settings.ActualSwaggerRoute, controllerTypes, settings, schemaGenerator ?? new SwaggerJsonSchemaGenerator(settings.GeneratorSettings)); } app.Use <RedirectMiddleware>(settings.ActualSwaggerUiRoute, settings.ActualSwaggerRoute); app.Use <SwaggerUiIndexMiddleware <WebApiToSwaggerGeneratorSettings> >(settings.ActualSwaggerUiRoute + "/index.html", settings, "NSwag.AspNet.Owin.SwaggerUi3.index.html"); app.UseFileServer(new FileServerOptions { RequestPath = new PathString(settings.ActualSwaggerUiRoute), FileSystem = new EmbeddedResourceFileSystem(typeof(SwaggerExtensions).Assembly, "NSwag.AspNet.Owin.SwaggerUi3") }); app.UseStageMarker(PipelineStage.MapHandler); return(app); }
/// <summary>Addes the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="webApiAssembly">The Web API assembly to search for controller types.</param> /// <param name="settings">The Swagger UI and generator settings.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, Assembly webApiAssembly, SwaggerUi3Settings settings) { return app.UseSwaggerUi3(new[] { webApiAssembly }, settings); }
private static SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings> ConfigureSwagger() { var swaggerSettings = new SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings>(); swaggerSettings.EnableTryItOut = false; swaggerSettings.ServerUrl = "http://lol.com"; return(swaggerSettings); }
/// <summary>Addes the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="webApiAssemblies">The Web API assemblies to search for controller types.</param> /// <param name="settings">The Swagger UI and generator settings.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, IEnumerable<Assembly> webApiAssemblies, SwaggerUi3Settings settings) { var controllerTypes = webApiAssemblies.SelectMany(WebApiToSwaggerGenerator.GetControllerClasses); return app.UseSwaggerUi3(controllerTypes, settings, new SwaggerJsonSchemaGenerator(settings)); }
/// <summary>Adds the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="controllerTypes">The Web API controller types.</param> /// <param name="configure">Configure the Swagger generator and UI settings.</param> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, IEnumerable<Type> controllerTypes, Action<SwaggerUi3Settings> configure = null) { var settings = new SwaggerUi3Settings(); configure?.Invoke(settings); return app.UseSwaggerUi3(controllerTypes, settings, new SwaggerJsonSchemaGenerator(settings)); }
public static void AddFlexAuthentication(this SwaggerUi3Settings settings, IServiceIdentity serviceIdentity) { settings.OAuth2Client = new OAuth2ClientSettings { AppName = serviceIdentity.ClientId, ClientId = serviceIdentity.ClientId, ClientSecret = string.Empty, UsePkceWithAuthorizationCodeGrant = true }; }
/// <summary>Addes the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="controllerTypes">The Web API controller types.</param> /// <param name="settings">The Swagger UI and generator settings.</param> /// <param name="schemaGenerator">The schema generator.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, IEnumerable<Type> controllerTypes, SwaggerUi3Settings settings, SwaggerJsonSchemaGenerator schemaGenerator) { if (controllerTypes != null) app.Use<SwaggerMiddleware>(settings.ActualSwaggerRoute, controllerTypes, settings, schemaGenerator); app.Use<RedirectMiddleware>(settings.ActualSwaggerUiRoute, settings.ActualSwaggerRoute); app.Use<SwaggerUiIndexMiddleware>(settings.ActualSwaggerUiRoute + "/index.html", settings, "NSwag.AspNet.Owin.SwaggerUi3.index.html"); app.UseFileServer(new FileServerOptions { RequestPath = new PathString(settings.ActualSwaggerUiRoute), FileSystem = new EmbeddedResourceFileSystem(typeof(SwaggerExtensions).Assembly, "NSwag.AspNet.Owin.SwaggerUi3") }); app.UseStageMarker(PipelineStage.MapHandler); return app; }
/// <summary>Adds the Swagger UI (only) to the pipeline.</summary> /// <remarks>The settings.GeneratorSettings property does not have any effect.</remarks> /// <param name="app">The app.</param> /// <param name="configure">Configure the Swagger settings.</param> /// <returns>The app builder.</returns> public static IApplicationBuilder UseSwaggerUi3( this IApplicationBuilder app, Action <SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings> > configure = null) { // TODO(v12): Add IOptions support when SwaggerUi3Settings<> T has been removed //var settings = configure == null && app.ApplicationServices.GetService<IOptions<SwaggerUi3Settings<WebApiToSwaggerGeneratorSettings>>>()?.Value ?? // new SwaggerUi3Settings<WebApiToSwaggerGeneratorSettings>(); var settings = new SwaggerUi3Settings <WebApiToSwaggerGeneratorSettings>(); configure?.Invoke(settings); UseSwaggerUiWithDocumentNamePlaceholderExpanding(app, settings, (swaggerRoute, swaggerUiRoute) => { app.UseMiddleware <RedirectToIndexMiddleware>(swaggerUiRoute, swaggerRoute, settings.TransformToExternalPath); app.UseMiddleware <SwaggerUiIndexMiddleware <WebApiToSwaggerGeneratorSettings> >(swaggerUiRoute + "/index.html", settings, "NSwag.AspNetCore.SwaggerUi3.index.html"); app.UseFileServer(new FileServerOptions { RequestPath = new PathString(swaggerUiRoute), FileProvider = new EmbeddedFileProvider(typeof(SwaggerExtensions).GetTypeInfo().Assembly, "NSwag.AspNetCore.SwaggerUi3") }); }, (documents) => { var swaggerRouteWithPlaceholder = settings.ActualSwaggerDocumentPath; settings.SwaggerRoutes.Clear(); foreach (var document in documents) { var swaggerRoute = swaggerRouteWithPlaceholder.Replace("{documentName}", document.DocumentName); settings.SwaggerRoutes.Add(new SwaggerUi3Route(document.DocumentName, swaggerRoute)); } return(true); }); return(app); }
/// <summary>Addes the Swagger generator and Swagger UI to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="controllerTypes">The Web API controller types.</param> /// <param name="configure">Configure the Swagger settings.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, IEnumerable <Type> controllerTypes, Action <SwaggerUi3Settings <WebApiOpenApiDocumentGeneratorSettings> > configure = null) { var settings = new SwaggerUi3Settings <WebApiOpenApiDocumentGeneratorSettings>(); configure?.Invoke(settings); if (controllerTypes != null) { app.Use <OpenApiDocumentMiddleware>(settings.ActualSwaggerDocumentPath, controllerTypes, settings); } app.Use <RedirectToIndexMiddleware>(settings.ActualSwaggerUiPath, settings.ActualSwaggerDocumentPath, settings.TransformToExternalPath); app.Use <SwaggerUiIndexMiddleware <WebApiOpenApiDocumentGeneratorSettings> >(settings.ActualSwaggerUiPath + "/index.html", settings, "NSwag.AspNet.Owin.SwaggerUi3.index.html"); app.UseFileServer(new FileServerOptions { RequestPath = new PathString(settings.ActualSwaggerUiPath), FileSystem = new EmbeddedResourceFileSystem(typeof(SwaggerExtensions).Assembly, "NSwag.AspNet.Owin.SwaggerUi3") }); app.UseStageMarker(PipelineStage.MapHandler); return(app); }
protected virtual void SwaggerUi3Setting(SwaggerUi3Settings options) { options.WithCredentials = true; }
/// <summary>Configure SwaggerUi3.</summary> /// <param name="settings"><see cref="SwaggerUi3Settings"/></param> protected virtual void ConfigureSwaggerUi3(SwaggerUi3Settings settings) { settings.Path = "/swagger"; settings.DefaultModelsExpandDepth = -1; settings.EnableTryItOut = true; }
/// <summary>Addes the Swagger UI (only) to the OWIN pipeline.</summary> /// <param name="app">The app.</param> /// <param name="settings">The Swagger UI settings.</param> /// <returns>The app builder.</returns> public static IAppBuilder UseSwaggerUi3( this IAppBuilder app, SwaggerUi3Settings settings) { return app.UseSwaggerUi3(null, settings, null); }