private static void AddInternalDocumentFilters(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); swaggerDocsConfig.DocumentFilter(() => new LimitSchemaGraphToTopLevelEntity()); swaggerDocsConfig.DocumentFilter(() => new EnsureUniqueOperationIdsFilter()); }
public static void ApplyAutoRestFilters(this SwaggerDocsConfig config, SwaggerDocsConfigExtensionsConfiguration extensionsConfiguration, object codeGenerationSettings = null) { if (codeGenerationSettings != null) { config.DocumentFilter(() => new CodeGenerationSettingsDocumentFilter(codeGenerationSettings)); } if (extensionsConfiguration.ApplyEnumTypeSchemaFilter) { config.SchemaFilter(() => new EnumTypeSchemaFilter(extensionsConfiguration.EnumTypeModelAsString)); } if (extensionsConfiguration.ApplyTypeFormatSchemaFilter) { config.SchemaFilter <TypeFormatSchemaFilter>(); } if (extensionsConfiguration.ApplyNullableTypeSchemaFilter) { config.SchemaFilter <NullableTypeSchemaFilter>(); if (extensionsConfiguration.ApplyNonNullableAsRequiredSchemaFilter) { config.SchemaFilter <NonNullableAsRequiredSchemaFilter>(); } } config.ApplyFiltersToAllSchemas(); }
public static void ReleaseTheTRex(this SwaggerDocsConfig config) { if (config == null) { return; } config.SchemaFilter <TRexSchemaFilter>(); config.OperationFilter <TRexOperationFilter>(); config.DocumentFilter <TRexDocumentFilter>(); }
public static SwaggerDocsConfig UseMiruken( this SwaggerDocsConfig config, Action <SwaggerMediatesFilter> configure = null) { var documentFilter = new SwaggerMediatesFilter(); configure?.Invoke(documentFilter); config.SchemaId(SwaggerMediatesFilter.ModelToSchemaId); config.DocumentFilter(() => documentFilter); config.IncludeApiComments("Miruken.Mediate"); return(config); }
/// <summary> /// Confgures Swaschbuckle to provide additional metadata in methods which use FromQuery attribute so the API provided by DotVVM API generator is easier to use. /// </summary> public static void EnableDotvvmIntegration(this SwaggerDocsConfig options, Action <DotvvmApiOptions> configureOptions = null) { var apiOptions = new DotvvmApiOptions(); configureOptions?.Invoke(apiOptions); var propertySerialization = new DefaultPropertySerialization(); options.OperationFilter(() => new AddAsObjectAnnotationOperationFilter(propertySerialization)); options.SchemaFilter(() => new AddTypeToModelSchemaFilter()); options.DocumentFilter(() => new HandleKnownTypesDocumentFilter(apiOptions, propertySerialization)); }
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)); }
/// <summary> /// Adds document filters that will be applied to SwaggerDocuments built from WebApi and OData ApiExplorers. /// </summary> private void AddGlobalDocumentFilters() { _swaggerDocsConfig.DocumentFilter <EnsureUniqueOperationIdsFilter>(); }
/// <summary> /// Adds document filters that will be applied to SwaggerDocuments built from WebApi and OData ApiExplorers. /// </summary> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> private static void AddGlobalDocumentFilters(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); swaggerDocsConfig.DocumentFilter(() => new EnsureUniqueOperationIdsFilter()); }
/// <summary> /// Use To filter documents(Endpoints) depending on auth(Authorized/Unauthorized/Scope claim ... etc). /// </summary> /// <param name="swaggerDocsConfig"> /// The swagger document config /// </param> /// <param name="apiFilter"> /// Filter action /// </param> public static void EnableAuthorizationFilter(this SwaggerDocsConfig swaggerDocsConfig, Func <ApiDescription, bool> apiFilter) => swaggerDocsConfig.DocumentFilter(() => SwaggerAuthorizationFilter.CreateWithAuthorizationFilter(apiFilter));
/// <summary> /// Adds the standard AuthToken endpoint documentation. /// </summary> /// <param name="c"></param> public static void AddStandardAuthTokenDocumentation(this SwaggerDocsConfig c) { c.DocumentFilter <AuthTokenOperation>(); }
/// <summary> /// Add a sub-classed version of the <see cref="AuthTokenOperation" /> to customize the AuthToken endpoint documentation. /// </summary> public static void AddAuthTokenDocumentation <TDocumentFilter>(this SwaggerDocsConfig c) where TDocumentFilter : AuthTokenOperation, new() { c.DocumentFilter <TDocumentFilter>(); }