/// <summary> /// Calls <see cref="SwaggerDocsConfig.DescribeAllEnumsAsStrings(bool)"/> /// | Make it compatible with owin branching /// | Ignores CancellationToken parameter type /// </summary> public static SwaggerDocsConfig ApplyDefaultApiConfig(this SwaggerDocsConfig doc, HttpConfiguration webApiConfig) { doc.DescribeAllEnumsAsStrings(); doc.RootUrl(req => new Uri(req.RequestUri, req.GetOwinContext().Request.PathBase.Value).ToString()); doc.OperationFilter <OpenApiIgnoreParameterTypeOperationFilter <CancellationToken> >(); doc.OperationFilter <DefaultAuthorizationOperationFilter>(); AppEnvironment appEnv = DefaultAppEnvironmentProvider.Current.GetActiveAppEnvironment(); doc.OAuth2("oauth2") .Flow("password") .TokenUrl($"{appEnv.GetSsoUrl()}/connect/token") .Scopes(scopes => { if (!appEnv.Security.Scopes.SequenceEqual(new[] { "openid", "profile", "user_info" })) { foreach (string scope in appEnv.Security.Scopes) { scopes.Add(scope, scope); } } }); return(doc); }
/// <summary> /// Calls <see cref="SwaggerDocsConfig.DescribeAllEnumsAsStrings(bool)"/> /// | Make it compatible with owin branching /// | Ignores CancellationToken parameter type /// </summary> public static SwaggerDocsConfig ApplyDefaultApiConfig(this SwaggerDocsConfig doc, HttpConfiguration webApiConfig) { doc.DescribeAllEnumsAsStrings(); doc.RootUrl(req => new Uri(req.RequestUri, req.GetOwinContext().Request.PathBase.Value).ToString()); doc.OperationFilter <OpenApiIgnoreParameterTypeOperationFilter <CancellationToken> >(); AppEnvironment appEnv = (AppEnvironment)webApiConfig.DependencyResolver.GetService(typeof(AppEnvironment)); doc.OperationFilter(() => new DefaultAuthorizationOperationFilter { AppEnvironment = appEnv }); doc.OperationFilter <SwaggerDefaultValuesOperationFilter>(); doc.OperationFilter <ExamplesOperationFilter>(); doc.OperationFilter <DescriptionOperationFilter>(); doc.SchemaId(type => $"{type.FullName}, {type.Assembly.GetName().Name}"); doc.OAuth2("oauth2") .Flow("password") .TokenUrl($"{appEnv.GetSsoUrl()}/connect/token") .Scopes(scopes => { if (!appEnv.Security.Scopes.SequenceEqual(new[] { "openid", "profile", "user_info" })) { foreach (string scope in appEnv.Security.Scopes) { scopes.Add(scope, scope); } } }); return(doc); }
/// <summary> /// Calls <see cref="SwaggerDocsConfig.DescribeAllEnumsAsStrings(bool)"/> /// | Make it compatible with owin branching /// | Ignores CancellationToken parameter type /// </summary> public static SwaggerDocsConfig ApplyDefaultApiConfig(this SwaggerDocsConfig doc, HttpConfiguration webApiConfig) { doc.DescribeAllEnumsAsStrings(); doc.RootUrl(req => new Uri(req.RequestUri, req.GetOwinContext().Request.PathBase.Value).ToString()); doc.OperationFilter <OpenApiIgnoreParameterTypeOperationFilter <CancellationToken> >(); return(doc); }