public SwaggerDocumentionMiddleware(OwinMiddleware next, SwaggerDefinitionConfiguration swaggerDefinitionConfiguration) : base(next) { if (swaggerDefinitionConfiguration == null) { throw new ArgumentNullException(nameof(swaggerDefinitionConfiguration)); } _swaggerDefinitionConfiguration = swaggerDefinitionConfiguration; }
/// <summary> /// Custom swagger documentation. /// </summary> /// <param name="appBuilder"></param> /// <param name="swaggerDefinitionConfiguration"></param> public static void UseSwaggerDocumentation(this IAppBuilder appBuilder, SwaggerDefinitionConfiguration swaggerDefinitionConfiguration) { appBuilder.Use <SwaggerDocumentionMiddleware>(swaggerDefinitionConfiguration); var embeddedFileSystem = new SwaggerDocumentationEmbeddedResourceHandler((typeof(AppBuilderExtension)).Assembly, "Owin.Swagger.Documentation.Swagger"); var fileServerOption = new FileServerOptions { EnableDefaultFiles = true, RequestPath = PathString.Empty, FileSystem = embeddedFileSystem }; appBuilder.UseFileServer(fileServerOption); }
internal static SwaggerDefinitionFile CreateFromConfiguration(SwaggerDefinitionConfiguration swaggerDefinitionCondifuration) { if (swaggerDefinitionCondifuration == null) { throw new ArgumentNullException(nameof(swaggerDefinitionCondifuration)); } switch (swaggerDefinitionCondifuration.SwaggerDefinitionType) { case SwaggerDefinitionType.JSON: if (swaggerDefinitionCondifuration.SwaggerDefinitionStream != null) { return(new JsonDefinitionFile(swaggerDefinitionCondifuration.SwaggerDefinitionStream)); } if (swaggerDefinitionCondifuration.SwaggerDefinitionBytes != null) { return(new YamlDefinitionFile(swaggerDefinitionCondifuration.SwaggerDefinitionBytes)); } throw new NotSupportedException(); case SwaggerDefinitionType.YAML: if (swaggerDefinitionCondifuration.SwaggerDefinitionStream != null) { return(new YamlDefinitionFile(swaggerDefinitionCondifuration.SwaggerDefinitionStream)); } if (swaggerDefinitionCondifuration.SwaggerDefinitionBytes != null) { return(new YamlDefinitionFile(swaggerDefinitionCondifuration.SwaggerDefinitionBytes)); } throw new NotSupportedException(); default: throw new NotSupportedException(); } }