private static void ApplyCommonSwaggerConfiguration(SwaggerDocsConfig c, IUnityContainer container, string cacheKey, string[] xmlCommentsFilePaths)
        {
            var cacheManager = container.Resolve <ICacheManager <object> >();

            c.CustomProvider(defaultProvider => new CachingSwaggerProvider(defaultProvider, cacheManager, cacheKey));
            c.MapType <object>(() => new Schema {
                type = "object"
            });
            c.IgnoreObsoleteProperties();
            c.DescribeAllEnumsAsStrings();
            c.OperationFilter(() => new OptionalParametersFilter());
            c.OperationFilter(() => new FileResponseTypeFilter());
            c.OperationFilter(() => new FileUploadOperationFilter());
            c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
            c.RootUrl(message => new Uri(ComputeHostAsSeenByOriginalClient(message), message.GetRequestContext().VirtualPathRoot).ToString());
            c.PrettyPrint();
            c.ApiKey("apiKey")
            .Description("API Key Authentication")
            .Name("api_key")
            .In("header");

            foreach (var path in xmlCommentsFilePaths)
            {
                c.IncludeXmlComments(path);
            }
        }
 public void Apply(SwaggerDocsConfig c)
 {
     foreach (var header in headers)
     {
         c.ApiKey(header.Key).Name(header.Name).Description(header.Description).In("header");
     }
     c.OperationFilter(() => this);
 }
Example #3
0
        public void EnableSwaggerUi_NullApiKeyScheme()
        {
            var httpConfig = new HttpConfiguration();
            var config     = new SwaggerDocsConfig();

            config.ApiKey("test", "1", "");
            var s = new SwaggerEnabledConfiguration(httpConfig, config, "");

            Assert.DoesNotThrow(() => s.EnableSwaggerUi("test", c => { }));
        }
Example #4
0
        internal static void Configure(HttpConfiguration config)
        {
            var swConfig = new SwaggerDocsConfig();

            swConfig.RootUrl(m => GetOwinAppBasePath(m.GetOwinContext()));
            swConfig.OperationFilter(() => new ODataResponcesOperationFilter());
            swConfig.OperationFilter(() => new AddExtendedMetadataOperationFilter());
            swConfig.DocumentFilter(() => new ODataRemoveNotAllowedOperationFilter());
            swConfig.SingleApiVersion("v2", "BlackCoffeeTalk oData Services");
            swConfig.CustomProvider(defaultProvider => new ODataSwaggerProvider(defaultProvider, swConfig, config)
                                    .Configure(odatasw => {
                odatasw.EnableSwaggerRequestCaching();
                odatasw.IncludeNavigationProperties();
            }));
            swConfig.ApiKey("Token")
            .Description("Filling bearer token.")
            .Name("Authorization")
            .In("header");

            config.Routes.MapHttpRoute("swagger_docs", "", new { apiVersion = "v2" }, null, new SwaggerDocsHandler(swConfig));
        }
Example #5
0
        private static void ApplyCommonSwaggerConfiguration(SwaggerDocsConfig c, IUnityContainer container, string cacheKey, string[] xmlCommentsFilePaths)
        {
            var cacheManager = container.Resolve<ICacheManager<object>>();

            c.CustomProvider(defaultProvider => new CachingSwaggerProvider(defaultProvider, cacheManager, cacheKey));
            c.MapType<object>(() => new Schema { type = "object" });
            c.IgnoreObsoleteProperties();
            c.DescribeAllEnumsAsStrings();
            c.OperationFilter(() => new OptionalParametersFilter());
            c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
            c.RootUrl(message => new Uri(message.RequestUri, message.GetRequestContext().VirtualPathRoot).ToString());
            c.PrettyPrint();
            c.ApiKey("apiKey")
                .Description("API Key Authentication")
                .Name("api_key")
                .In("header");

            foreach (var path in xmlCommentsFilePaths)
            {
                c.IncludeXmlComments(path);
            }
        }
Example #6
0
 public void Apply(SwaggerDocsConfig c)
 {
     c.ApiKey(Key).Name(Name).Description(Description).In("header");
     c.OperationFilter(() => this);
 }