private static void AddInternalDocumentFilters(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); swaggerDocsConfig.DocumentFilter(() => new LimitSchemaGraphToTopLevelEntity()); swaggerDocsConfig.DocumentFilter(() => new EnsureUniqueOperationIdsFilter()); }
public static SwaggerDocsConfig ConfigureForNodaTime(this SwaggerDocsConfig config, IDateTimeZoneProvider timeZoneProvider) { var timeZone = timeZoneProvider[America.NewYork]; var instant = SystemClock.Instance.GetCurrentInstant(); var zonedDateTime = instant.InZone(timeZone); var localDate = zonedDateTime.Date; var localTime = zonedDateTime.TimeOfDay; var localDateTime = zonedDateTime.LocalDateTime; var offsetDateTime = zonedDateTime.ToOffsetDateTime(); var duration = Duration.FromMilliseconds(182713784L); var interval = new Interval(instant, instant + duration); var offset = timeZone.GetUtcOffset(instant); var period = Period.Between(localDateTime, localDateTime.PlusTicks(duration.BclCompatibleTicks)); config.MapStruct(instant); config.MapStruct(localDate); config.MapStruct(localTime); config.MapStruct(localDateTime); config.MapStruct(offsetDateTime); config.MapStruct(zonedDateTime); config.MapStruct(interval); config.MapStruct(offset); config.MapClass(period); config.MapStruct(duration); config.MapClass(timeZone); return(config); }
/// <summary> /// Initializes a new instance of the <see cref="ODataSwaggerProvider" /> class. /// Use this constructor for self-hosted scenarios. /// </summary> /// <param name="defaultProvider">The default provider.</param> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <param name="httpConfig">The HttpConfiguration that contains the OData Edm Model.</param> public ODataSwaggerProvider(ISwaggerProvider defaultProvider, SwaggerDocsConfig swaggerDocsConfig, HttpConfiguration httpConfig) : this(defaultProvider, DefaultCompositionRoot.GetSwaggerProviderOptions(swaggerDocsConfig), DefaultCompositionRoot.GetApiVersions(swaggerDocsConfig), DefaultCompositionRoot.GetApiExplorer(httpConfig), httpConfig) { Contract.Requires(defaultProvider != null); Contract.Requires(swaggerDocsConfig != null); Contract.Requires(httpConfig != null); }
private static void MapStruct <T>(this SwaggerDocsConfig config, T example) where T : struct { var factory = GetSchema(example); config.MapType <T>(factory); config.MapType <T?>(factory); }
public static SwaggerProviderOptions GetSwaggerProviderOptions(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); AddGlobalDocumentFilters(swaggerDocsConfig); return new SwaggerProviderOptions( swaggerDocsConfig.GetFieldValue<Func<ApiDescription, string, bool>>("_versionSupportResolver"), swaggerDocsConfig.GetFieldValue<IEnumerable<string>>("_schemes"), swaggerDocsConfig.GetSecurityDefinitions(), swaggerDocsConfig.GetFieldValue<bool>("_ignoreObsoleteActions"), swaggerDocsConfig.GetFieldValue<Func<ApiDescription, string>>("_groupingKeySelector"), swaggerDocsConfig.GetFieldValue<IComparer<string>>("_groupingKeyComparer"), GetODataCustomSchemaMappings(swaggerDocsConfig), swaggerDocsConfig.GetFieldValue<IList<Func<ISchemaFilter>>>("_schemaFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue<IList<Func<IModelFilter>>>("_modelFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue<bool>("_ignoreObsoleteProperties"), swaggerDocsConfig.GetFieldValue<Func<Type, string>>("_schemaIdSelector"), swaggerDocsConfig.GetFieldValue<bool>("_describeAllEnumsAsStrings"), swaggerDocsConfig.GetFieldValue<bool>("_describeStringEnumsInCamelCase"), GetODataOperationFilters(swaggerDocsConfig), GetODataDocumentFilters(swaggerDocsConfig), swaggerDocsConfig.GetFieldValue<Func<IEnumerable<ApiDescription>, ApiDescription>>("_conflictingActionsResolver") ); }
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 SwaggerEnabledConfiguration EnableSwagger( this HttpConfiguration httpConfig, string routeTemplate, Action <SwaggerDocsConfig> configure = null) { var config = new SwaggerDocsConfig(); if (configure != null) { configure(config); } httpConfig.Routes.MapHttpRoute( name: "swagger_docs", routeTemplate: routeTemplate, defaults: null, constraints: new { apiVersion = @".+" }, handler: new SwaggerDocsHandler(config) ); return(new SwaggerEnabledConfiguration( httpConfig, config.GetRootUrl, config.GetApiVersions().Select(version => routeTemplate.Replace("{apiVersion}", version)))); }
public static SwaggerProviderOptions GetSwaggerProviderOptions(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); AddInternalDocumentFilters(swaggerDocsConfig); AddInternalOperationFilters(swaggerDocsConfig); return(new SwaggerProviderOptions( swaggerDocsConfig.GetFieldValue <Func <ApiDescription, string, bool> >("_versionSupportResolver"), swaggerDocsConfig.GetFieldValue <IEnumerable <string> >("_schemes"), swaggerDocsConfig.GetSecurityDefinitions(), swaggerDocsConfig.GetFieldValue <bool>("_ignoreObsoleteActions"), swaggerDocsConfig.GetFieldValue <Func <ApiDescription, string> >("_groupingKeySelector"), swaggerDocsConfig.GetFieldValue <IComparer <string> >("_groupingKeyComparer"), swaggerDocsConfig.GetFieldValue <IDictionary <Type, Func <Schema> > >("_customSchemaMappings"), swaggerDocsConfig.GetFieldValue <IList <Func <ISchemaFilter> > >("_schemaFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue <IList <Func <IModelFilter> > >("_modelFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue <bool>("_ignoreObsoleteProperties"), swaggerDocsConfig.GetFieldValue <Func <Type, string> >("_schemaIdSelector"), swaggerDocsConfig.GetFieldValue <bool>("_describeAllEnumsAsStrings"), swaggerDocsConfig.GetFieldValue <bool>("_describeStringEnumsInCamelCase"), swaggerDocsConfig.GetFieldValue <IList <Func <IOperationFilter> > >("_operationFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue <IList <Func <IDocumentFilter> > >("_documentFilters", true).Select(factory => factory()), swaggerDocsConfig.GetFieldValue <Func <IEnumerable <ApiDescription>, ApiDescription> >("_conflictingActionsResolver") )); }
private SwaggerDocsHandler Handler(Action <SwaggerDocsConfig> configure = null) { var swaggerDocsConfig = new SwaggerDocsConfig(); configure?.Invoke(swaggerDocsConfig); return(new SwaggerDocsHandler(swaggerDocsConfig)); }
public static T GetFieldValue <T>(this SwaggerDocsConfig swaggerDocsConfig, string fieldName) { Contract.Requires(swaggerDocsConfig != null); Contract.Requires(!string.IsNullOrWhiteSpace(fieldName)); return(swaggerDocsConfig.GetInstanceField <T>(fieldName)); }
private static void SetXmlCommentsPath(SwaggerDocsConfig config) { string strBaseDirectory = System.AppDomain.CurrentDomain.BaseDirectory; string strWebXMLPath = string.Format(@"{0}\App_Data\React_Jwt.XML", strBaseDirectory); config.IncludeXmlComments(strWebXMLPath); }
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); } }
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.OperationFilter(() => new AssignOAuth2SecurityOperationFilter()); c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); c.RootUrl(message => new Uri(ComputeHostAsSeenByOriginalClient(message), message.GetRequestContext().VirtualPathRoot).ToString()); c.PrettyPrint(); c.OAuth2("OAuth2") .Description("OAuth2 Resource Owner Password Grant flow") .Flow("password") .TokenUrl(HttpRuntime.AppDomainAppVirtualPath?.TrimEnd('/') + "/token"); foreach (var path in xmlCommentsFilePaths) { c.IncludeXmlComments(path); } }
private void SetVersionAndComments(SwaggerDocsConfig config, string version, string title) { string str = string.Empty; try { config.SingleApiVersion(version, title); char[] trimChars = new char[] { '\\' }; str = AppDomain.CurrentDomain.BaseDirectory.Trim(trimChars); string directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (directoryName != null) { char[] chArray2 = new char[] { '\\' }; if (directoryName.Trim(chArray2) != str) { str = Path.Combine(str, "bin"); } } } catch { } if (!string.IsNullOrEmpty(str)) { foreach (string str3 in Directory.EnumerateFiles(str, "*.XML").ToArray <string>()) { config.IncludeXmlComments(str3); } } }
/// <summary> /// Initializes a new instance of the <see cref="ODataSwaggerProvider" /> class. /// Use this constructor for self-hosted scenarios. /// </summary> /// <param name="defaultProvider">The default provider.</param> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <param name="httpConfig">The HttpConfiguration that contains the OData Edm Model.</param> public ODataSwaggerProvider(ISwaggerProvider defaultProvider, SwaggerDocsConfig swaggerDocsConfig, HttpConfiguration httpConfig) : this(defaultProvider, DefaultCompositionRoot.GetSwaggerProviderOptions(swaggerDocsConfig), DefaultCompositionRoot.GetApiVersions(swaggerDocsConfig), DefaultCompositionRoot.GetApiExplorer(httpConfig), httpConfig) { Contract.Requires(defaultProvider != null); Contract.Requires(swaggerDocsConfig != null); Contract.Requires(httpConfig != null); }
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); }
public static T GetFieldValue <T>(this SwaggerDocsConfig swaggerDocsConfig, string fieldName, bool ensureNonNull = false) { Contract.Requires(swaggerDocsConfig != null); Contract.Requires(!string.IsNullOrWhiteSpace(fieldName)); Contract.Ensures(Contract.Result <T>() != null || !ensureNonNull); return(swaggerDocsConfig.GetInstanceField <T>(fieldName, ensureNonNull)); }
public void It_provides_scheme_host_and_port_from_request_uri() { var request = GetRequestFixtureFor(HttpMethod.Get, "http://tempuri.org:1234"); var rootUrl = SwaggerDocsConfig.DefaultRootUrlResolver(request); Assert.AreEqual("http://tempuri.org:1234", rootUrl); }
public void It_provides_scheme_and_host_but_omits_default_port_from_request_uri(string requestedUri, string expectedUri) { var request = GetRequestFixtureFor(HttpMethod.Get, requestedUri); var rootUrl = SwaggerDocsConfig.DefaultRootUrlResolver(request); Assert.AreEqual(expectedUri, rootUrl); }
private static void GetXmlCommentsPath(SwaggerDocsConfig config) { var commentsFile1 = string.Format(@"{1}BIN\{0}.XML", Assembly.GetExecutingAssembly().GetName().Name, AppDomain.CurrentDomain.BaseDirectory); var commentsFile2 = string.Format(@"{1}BIN\Pharos.Logic.OMS.XML", Assembly.GetExecutingAssembly().GetName().Name, AppDomain.CurrentDomain.BaseDirectory); config.IncludeXmlComments(commentsFile1); config.IncludeXmlComments(commentsFile2); }
public static Dictionary <string, SecurityScheme> GetSecurityDefinitions(this SwaggerDocsConfig swaggerDocsConfig) { var securitySchemeBuilders = swaggerDocsConfig.GetFieldValue <IDictionary <string, SecuritySchemeBuilder> >("_securitySchemeBuilders"); return(securitySchemeBuilders != null && securitySchemeBuilders.Any() ? securitySchemeBuilders.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.InvokeFunction <SecurityScheme>("Build")) : new Dictionary <string, SecurityScheme>()); }
public SwaggerEnabledConfiguration(HttpConfiguration httpConfig, Func<HttpRequestMessage, string> rootUrlResolver, IEnumerable<string> discoveryPaths, SwaggerDocsConfig swaggerDocsConfig) { _swaggerDocsConfig = swaggerDocsConfig; _httpConfig = httpConfig; _rootUrlResolver = rootUrlResolver; _discoveryPaths = discoveryPaths; }
/// <summary> /// Initializes a new instance of the <see cref="ODataSwaggerProvider" /> class. /// Use this constructor for self-hosted scenarios. /// </summary> /// <param name="defaultProvider">The default provider.</param> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <param name="httpConfig">The HttpConfiguration that contains the OData Edm Model.</param> public ODataSwaggerProvider(ISwaggerProvider defaultProvider, SwaggerDocsConfig swaggerDocsConfig, HttpConfiguration httpConfig) { Contract.Requires(defaultProvider != null); Contract.Requires(swaggerDocsConfig != null); Contract.Requires(httpConfig != null); _defaultProvider = defaultProvider; _config = new ODataSwaggerDocsConfig(swaggerDocsConfig, httpConfig); }
private static void EnableSwagger(SwaggerDocsConfig swaggerDocsConfig) { swaggerDocsConfig.SingleApiVersion(AppSettings.ApiVersion, $"{AppSettings.ApplicationName} {AppSettings.ApiVersion}"); swaggerDocsConfig.RootUrl(GetRootUrlFromAppConfig); swaggerDocsConfig.IncludeXmlComments(GetXmlCommentsPath()); swaggerDocsConfig.OperationFilter <SwaggerCorrelationIdHeader>(); swaggerDocsConfig.OperationFilter <FormatXmlCommentProperties>(); swaggerDocsConfig.OperationFilter <SwaggerAuthorizationHeader>(); }
/// <summary> /// Initializes a new instance of the <see cref="ODataSwaggerProvider" /> class. /// Use this constructor for self-hosted scenarios. /// </summary> /// <param name="defaultProvider">The default provider.</param> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <param name="httpConfig">The HttpConfiguration that contains the OData Edm Model.</param> public ODataSwaggerProvider(ISwaggerProvider defaultProvider, SwaggerDocsConfig swaggerDocsConfig, HttpConfiguration httpConfig) { Contract.Requires(defaultProvider != null); Contract.Requires(swaggerDocsConfig != null); Contract.Requires(httpConfig != null); _defaultProvider = defaultProvider; _config = new ODataSwaggerDocsConfig(swaggerDocsConfig, httpConfig); }
/// <summary> /// Adds fluent validation rules to swagger. /// </summary> /// <param name="config">Swagger options.</param> /// <param name="factory">IValidatorFactory. If null then factory gets from <see cref="HttpConfiguration.Services"/></param> public static void AddFluentValidationRules(this SwaggerDocsConfig config, IValidatorFactory factory = null) { var validatorFactory = factory ?? ((FluentValidationModelValidatorProvider)GlobalConfiguration.Configuration.Services.GetServices(typeof(ModelValidatorProvider)).FirstOrDefault(pr => pr is FluentValidationModelValidatorProvider))?.ValidatorFactory; if (validatorFactory != null) { config.SchemaFilter(() => new FluentValidationRules(validatorFactory)); } }
public static void ReleaseTheTRex(this SwaggerDocsConfig config) { if (config == null) { return; } config.SchemaFilter <TRexSchemaFilter>(); config.OperationFilter <TRexOperationFilter>(); }
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 => { })); }
public static SwaggerEnabledConfiguration EnableSwagger(this HttpConfiguration httpConfig, string routeName, string routeTemplate, Action<SwaggerDocsConfig> configure = null) { var config = new SwaggerDocsConfig(); if (configure != null) { configure(config); } httpConfig.Routes.MapHttpRoute(routeName, routeTemplate, null, new { apiVersion = ".+" }, new SwaggerDocsHandler(config)); return new SwaggerEnabledConfiguration(httpConfig, null, null); }
internal ODataSwaggerDocsConfig(SwaggerDocsConfig swaggerDocsConfig, HttpConfiguration httpConfiguration) { Contract.Requires(httpConfiguration != null); Contract.Requires(swaggerDocsConfig != null); Configuration = httpConfiguration; _swaggerDocsConfig = swaggerDocsConfig; _includeNavigationProperties = false; _documentFilters = new List <Func <IDocumentFilter> >(); }
internal static SwaggerDocsConfig GetDefaultConfigWithTRex() { SwaggerDocsConfig config = new SwaggerDocsConfig(); config.SingleApiVersion("v1", "TRexTestApi"); config.ReleaseTheTRex(); config.OperationFilter <IncludeParameterNamesInOperationIdFilter>(); return(config); }
public static void ApplyCqlDefaults(this SwaggerDocsConfig c) { c.OperationFilter <AddAuthorizationHeaderParameterOperationFilter>(); c.OperationFilter <SupportFlaggedEnums>(); c.OperationFilter <HideCancellationToken>(); c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First()); c.DescribeAllEnumsAsStrings(); }
private static void Configure(SwaggerDocsConfig swaggerConf) { //todo reflection swaggerConf.SingleApiVersion("v1", "My Thai Star Email Service"); //Add swagger documentation foreach (var doc in GetXmlDocumentsForSwagger()) { swaggerConf.IncludeXmlComments(GetXmlCommentsPath(doc)); } }
public static SwaggerEnabledConfiguration EnableSwagger(this HttpConfiguration httpConfig, string routeName, string routeTemplate, Action <SwaggerDocsConfig> configure = null) { var config = new SwaggerDocsConfig(); if (configure != null) { configure(config); } httpConfig.Routes.MapHttpRoute(routeName, routeTemplate, null, new { apiVersion = ".+" }, new SwaggerDocsHandler(config)); return(new SwaggerEnabledConfiguration(httpConfig, null, null)); }
protected void SetUpHandler(Action <SwaggerDocsConfig> configure = null) { var swaggerDocsConfig = new SwaggerDocsConfig(); swaggerDocsConfig.SingleApiVersion("v1", "Test API"); swaggerDocsConfig.IncludeAllXmlComments(typeof(SwaggerTestBase).Assembly, AppDomain.CurrentDomain.BaseDirectory); configure?.Invoke(swaggerDocsConfig); Handler = new SwaggerDocsHandler(swaggerDocsConfig); }
public static SwaggerEnabledConfiguration EnableSwagger(this HttpConfiguration httpConfig, string routeTemplate, Action<SwaggerDocsConfig> configure = null) { var config = new SwaggerDocsConfig(); if (configure != null) configure(config); _cnfg = config; httpConfig.Routes.MapHttpRoute( name: "swagger_docs", routeTemplate: routeTemplate, defaults: null, constraints: new { apiVersion = @".+" }, handler: new SwaggerDocsHandler(config) ); return new SwaggerEnabledConfiguration( httpConfig, config.GetRootUrl, config.GetApiVersions().Select(version => routeTemplate.Replace("{apiVersion}", version)), config); }
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); } }
public SwaggerChangeLogHandler(SwaggerDocsConfig config) { _config = config; }
/// <summary> /// Gets custom schema mappings that will only be applied to OData operations. /// </summary> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <returns></returns> private static IDictionary<Type, Func<Schema>> GetODataCustomSchemaMappings(SwaggerDocsConfig swaggerDocsConfig) { var customSchemaMappings = swaggerDocsConfig.GetFieldValue<IDictionary<Type, Func<Schema>>>("_customSchemaMappings", true); customSchemaMappings[typeof(decimal)] = () => new Schema { type = "number", format = "decimal" }; return customSchemaMappings; }
/// <summary> /// Gets the API versions. I'd rather not use reflection because the implementation may change, but can't find a better way. /// </summary> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> /// <returns></returns> public static IDictionary<string, Info> GetApiVersions(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); return swaggerDocsConfig.GetFieldValue<VersionInfoBuilder>("_versionInfoBuilder", true).Build(); }
public static void SetupSwaggerConfig(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); swaggerDocsConfig.SingleApiVersion("v1", "magic_application_name_magic"); }
/// <summary> /// Initializes a new instance of the <see cref="ODataSwaggerProvider" /> class. /// </summary> /// <param name="defaultProvider">The default provider.</param> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> public ODataSwaggerProvider(ISwaggerProvider defaultProvider, SwaggerDocsConfig swaggerDocsConfig) : this(defaultProvider, swaggerDocsConfig, GlobalConfiguration.Configuration) { Contract.Requires(defaultProvider != null); Contract.Requires(swaggerDocsConfig != null); }
public SwaggerDocsHandler(SwaggerDocsConfig config) { _config = config; }
public static void SetupSwaggerConfig(SwaggerDocsConfig swaggerDocsConfig) { Contract.Requires(swaggerDocsConfig != null); swaggerDocsConfig.SingleApiVersion("v1", "Api_Learn"); }
public SwaggerPostmanHandler(SwaggerDocsConfig config) { _config = config; }
/// <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()); }
private void ConfigureSwaggerDocs(SwaggerDocsConfig swaggerDocsConfig) { swaggerDocsConfig.SingleApiVersion("v1", this.GetType().Assembly.GetName().Name); swaggerDocsConfig.UseFullTypeNameInSchemaIds(); }
/// <summary> /// Gets document filters that will only be applied to the SwaggerDocument built from the OData ApiExplorer. /// </summary> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> private static IEnumerable<IDocumentFilter> GetODataDocumentFilters(SwaggerDocsConfig swaggerDocsConfig) { return swaggerDocsConfig.GetFieldValue<IList<Func<IDocumentFilter>>>("_documentFilters", true) .Select(factory => factory()) .Concat(new LimitSchemaGraphToTopLevelEntity()); }
/// <summary> /// Gets operation filters that will only be applied to OData operations. /// </summary> /// <param name="swaggerDocsConfig">The swagger docs configuration.</param> private static IEnumerable<IOperationFilter> GetODataOperationFilters(SwaggerDocsConfig swaggerDocsConfig) { return swaggerDocsConfig.GetFieldValue<IList<Func<IOperationFilter>>>("_operationFilters", true) .Select(factory => factory()) .Concat(new EnableQueryFilter()); }