public SwaggerDocumentionMiddleware(OwinMiddleware next, SwaggerDefinitionConfiguration swaggerDefinitionConfiguration) : base(next)
        {
            if (swaggerDefinitionConfiguration == null)
            {
                throw new ArgumentNullException(nameof(swaggerDefinitionConfiguration));
            }

            _swaggerDefinitionConfiguration = swaggerDefinitionConfiguration;
        }
Example #2
0
        /// <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);
        }
Example #3
0
        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();
            }
        }