public static void Register(JsonSerializerSettings jsonSerializerSettings) { if (Api.DocsSettings.Enabled == true) { //var docsDescription = AppDomain.CurrentDomain.BaseDirectory + "/Docs/DOCS-DESCRIPTION.md"; // //if (File.Exists(docsDescription)) //{ // string readme = File.ReadAllText(docsDescription); //} var version = (string.IsNullOrWhiteSpace(Api.ApiSettings.Version)) ? "v1" : Api.ApiSettings.Version; var contact = new Contact() { EmailAddress = Api.DocsSettings.AuthorEmail, Name = Api.DocsSettings.AuthorName, Url = Api.ApiSettings.AppUrl }; SwaggerConfig.ResourceListingPath = BaseModule.GetModulePath(); SwaggerConfig.JsonSerializerSettings = jsonSerializerSettings; SwaggerMetadataProvider.SetInfo(Api.DocsSettings.Title, version, Api.DocsSettings.Description, contact, Api.DocsSettings.TermsOfService); SwaggerAnnotationsConfig.ShowOnlyAnnotatedRoutes = true; SwaggerTypeMapping.AddTypeMapping(typeof(Guid), typeof(string)); } }
private void InitializeSwaggerMetadata() { SwaggerMetadataProvider.SetInfo("Fabric Authorization API", "v1", "Fabric.Authorization contains a set of APIs that allow client applications to manage roles and permissions for users."); var securitySchemeBuilder = new Oauth2SecuritySchemeBuilder(); securitySchemeBuilder.Flow(Oauth2Flows.Implicit); securitySchemeBuilder.Description("Authentication with Fabric.Identity"); securitySchemeBuilder.AuthorizationUrl(@"http://localhost:5001"); securitySchemeBuilder.Scope("fabric/authorization.read", "Grants read access to fabric.authorization resources."); securitySchemeBuilder.Scope("fabric/authorization.write", "Grants write access to fabric.authorization resources."); securitySchemeBuilder.Scope("fabric/authorization.manageclients", "Grants 'manage clients' access to fabric.authorization resources."); try { SwaggerMetadataProvider.SetSecuritySchemeBuilder(securitySchemeBuilder, "fabric.identity"); } catch (ArgumentException ex) { _logger.Warning("Error configuring Swagger Security Scheme. {exceptionMessage}", ex.Message); } catch (NullReferenceException ex) { _logger.Warning("Error configuring Swagger Security Scheme: {exceptionMessage", ex.Message); } }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo("Nancy Swagger Example", "v0", "Our awesome service", new Contact() { EmailAddress = "*****@*****.**" }); base.ApplicationStartup(container, pipelines); }
protected override void ConfigureApplicationContainer(ILifetimeScope container) { SwaggerMetadataProvider.SetInfo("Nancy Swagger w/ AutoFac Example", "v0", "Our awesome service", new Contact() { EmailAddress = "*****@*****.**" }); SwaggerAnnotationsConfig.ShowOnlyAnnotatedRoutes = true; this.ApplicationPipelines.AfterRequest.AddItemToEndOfPipeline(x => x.Response.Headers.Add("Access-Control-Allow-Origin", "*")); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); SwaggerMetadataProvider.SetInfo( "LiquidProjections", Assembly.GetExecutingAssembly().GetName().Version.ToString(), "Provides statistics about running projectors" ); }
private static void InitializeSwaggerMetadata() { SwaggerMetadataProvider.SetInfo("Fabric Authorization API", "v1", "Fabric.Authorization contains a set of APIs that allow client applications to manage roles and permissions for users."); var securitySchemeBuilder = new Oauth2SecuritySchemeBuilder(); securitySchemeBuilder.Flow(Oauth2Flows.Implicit); securitySchemeBuilder.Description("Authentication with Fabric.Identity"); securitySchemeBuilder.AuthorizationUrl(@"http://localhost:5001"); securitySchemeBuilder.Scope("fabric/authorization.read", "Grants read access to fabric.authorization resources."); securitySchemeBuilder.Scope("fabric/authorization.write", "Grants write access to fabric.authorization resources."); securitySchemeBuilder.Scope("fabric/authorization.manageclients", "Grants 'manage clients' access to fabric.authorization resources."); SwaggerMetadataProvider.SetSecuritySchemeBuilder(securitySchemeBuilder, "fabric.identity"); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo( "RestFs", //Name "v1", //Version "REST API abstraction for a file system", //Description new Contact { Url = "https://github.com/secana/RestFS" } //Contact Info ); container.Register(_logger); container.Register(_storage); base.ApplicationStartup(container, pipelines); }
private void ConfigureSwagger() { SwaggerMetadataProvider.SetInfo( "Shared Terminology Data Services", TerminologyVersion.SemanticVersion.ToString(), "Shared Terminology Data Services - Fabric.Terminology.API", new Contact() { EmailAddress = "*****@*****.**" }); if (!this.appConfig.SwaggerRootBasePath.IsNullOrWhiteSpace()) { SwaggerMetadataProvider.SetSwaggerRoot(basePath: this.appConfig.SwaggerRootBasePath); } }
protected override void ApplicationStartup(ILifetimeScope container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo("Reporting service", "v2", "Reporting service docs", new Contact() { Name = "Reportserver" }); container.Update(builder => builder .RegisterType <SwaggerAnnotationsProvider>() .As <ISwaggerMetadataProvider>()); Global = Container; ILogic log = Container.Resolve <ILogic>(); log.Start(); SwaggerAnnotationsConfig.ShowOnlyAnnotatedRoutes = true; }
private static void InitSwagger(IAppConfiguration config) { SwaggerMetadataProvider.SetInfo( config["SvcMetaTitle"], config["SvcMetaVer"], $"[ Base URL: {config["HostUrl"]} ]", new Contact { EmailAddress = config["SvcMetaContact"] }); SwaggerConfig.ResourceListingPath = config["SwaggerResourceListingPath"]; SwaggerTypeMapping.AddTypeMapping(typeof(DateTime), typeof(string)); SwaggerTypeMapping.AddTypeMapping(typeof(DateTime?), typeof(string)); SwaggerTypeMapping.AddTypeMapping(typeof(TimeSpan), typeof(string)); SwaggerTypeMapping.AddTypeMapping(typeof(TimeSpan?), typeof(string)); SwaggerTypeMapping.AddTypeMapping(typeof(Guid), typeof(string)); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo("Nancy Swagger Example", "v0", "Our awesome service", new Contact() { EmailAddress = "*****@*****.**" }); SwaggerMetadataProvider.SetSwaggerRoot( externalDocumentation: new ExternalDocumentation { Description = "GitHub", Url = "https://github.com/yahehe/Nancy.Swagger" }, schemes: new[] { Schemes.Http } ); base.ApplicationStartup(container, pipelines); SwaggerAnnotationsConfig.ShowOnlyAnnotatedRoutes = true; }
protected override void ApplicationStartup(ILifetimeScope applicationContainer, IPipelines pipelines) { // Add swagger info SwaggerMetadataProvider.SetInfo("Domain0", "v1", "Domain0 JWT auth service", new Contact { Name = "domain0" }); var modelCatalog = applicationContainer.Resolve <ISwaggerModelCatalog>(); modelCatalog.AddModel <IEnumerable <ModelValidationError> >(); modelCatalog.AddModel <ModelValidationError>(); modelCatalog.AddModel <RolePermission>(); modelCatalog.AddModel <UserPermission>(); modelCatalog.AddModel <UserRole>(); SwaggerAnnotationsConfig.ShowOnlyAnnotatedRoutes = true; applicationContainer.Update(builder => { builder .RegisterType <SwaggerAnnotationsProvider>() .As <ISwaggerMetadataProvider>(); builder .RegisterInstance(new MemoryCache( new MemoryCacheOptions { ExpirationScanFrequency = TimeSpan.FromMinutes(5), SizeLimit = thresholdSettings.CacheLimitMB * 1024 * 1024 })) .As <IMemoryCache>() .SingleInstance(); builder .RegisterType <RequestThrottleManager>() .As <IRequestThrottleManager>() .SingleInstance(); }); pipelines.EnableCors(); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo("Pdf Reporting Poc", "v0.9.2", "Provides pdf reporting functionality", new Contact() { EmailAddress = "*****@*****.**", Name = "G-Team" }, "#"); container.Register(typeof(IBarCodes), typeof(BarCodes)); container.Register(typeof(ICreateBarCodeUseCase), typeof(CreateBarCodeUseCase)); container.Register(typeof(IPopulatePdfUseCase), typeof(PopulatePdfUseCase)); container.Register(typeof(IRenderReportUseCase), typeof(RenderReportUseCase)); container.Register(typeof(IFileSystemProvider), typeof(FileSystemProvider)); container.Register(typeof(IPdfOperations), typeof(PdfOperations)); container.Register(typeof(IBarCodeAttachmentOperations), typeof(BarCodeAttachmentOperations)); container.Register(typeof(IBarCodeAttachmentOperations), typeof(BarCodeAttachmentOperations)); container.Register(typeof(IAttachBarCodeUseCase), typeof(AttachBarCodeUseCase)); base.ApplicationStartup(container, pipelines); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { base.ApplicationStartup(container, pipelines); SwaggerMetadataProvider.SetInfo("IDP Job APIs", "v0.1", "Our job service", new Contact() { EmailAddress = "*****@*****.**" }); pipelines.AfterRequest.AddItemToEndOfPipeline(x => x.Response.Headers.Add("Access-Control-Allow-Origin", "*")); CookieBasedSessions.Enable(pipelines); pipelines.EnableBasicAuthentication(new BasicAuthenticationConfiguration( container.Resolve <IUserValidator>(), "IDPJobManager")); ResourceViewLocationProvider.RootNamespaces.Add(Assembly.GetExecutingAssembly(), "IDPJobManager.Web.Views"); ResourceViewLocationProvider.Ignore.Add(typeof(Nancy.ViewEngines.Razor.RazorViewEngine).Assembly); }
protected override ILifetimeScope GetApplicationContainer() { SwaggerMetadataProvider.SetInfo( "Configuration store Api documentation", "v0.1", "An Api to manage the configuration values for your application", new Contact { Name = "Carlos Vicente", EmailAddress = "*****@*****.**" }); ApplicationPipelines .AfterRequest .AddItemToEndOfPipeline(x => x.Response.Headers.Add("Access-Control-Allow-Origin", "*")); var builder = new ContainerBuilder(); builder.RegisterModule <ConfigStoreModule>(); builder.RegisterModule <PersistenceModule>(); builder.RegisterModule <JsonNetModule>(); return(builder.Build()); }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { this.Conventions.ViewLocationConventions.Add((viewName, model, context) => { return(string.Concat("ui/", viewName)); }); SwaggerMetadataProvider.SetInfo( title: "OmegaGraf", version: Globals.Config.Version, desc: "OmegaGraf-Compose", contact: new Contact() { EmailAddress = "*****@*****.**", Name = "Jacob Colvin" } ); var securitySchemeBuilder = new ApiKeySecuritySchemeBuilder(); securitySchemeBuilder.IsInHeader(); securitySchemeBuilder.Name("Authorization"); SwaggerMetadataProvider.SetSecuritySchemeBuilder(securitySchemeBuilder, "ApiKey"); SwaggerMetadataProvider.SetSwaggerRoot( externalDocumentation: new ExternalDocumentation { Description = "GitHub", Url = "https://github.com/OmegaGraf/OmegaGraf" }, schemes: new[] { Schemes.Http, Schemes.Https }, produces: new[] { "application/json" } ); base.ApplicationStartup(container, pipelines); }
protected override void ApplicationStartup([NotNull] TinyIoCContainer container, [NotNull] IPipelines pipelines) { SwaggerMetadataProvider.SetInfo( "Shared Terminology Data Services", TerminologyVersion.SemanticVersion.ToString(), "Shared Terminology Data Services - Fabric.Terminology.API", new Contact() { EmailAddress = "*****@*****.**" }); base.ApplicationStartup(container, pipelines); pipelines.OnError.AddItemToEndOfPipeline( (ctx, ex) => { this.logger.Error( ex, "Unhandled error on request: @{Url}. Error Message: @{Message}", ctx.Request.Url, ex.Message); return(ctx.Response); }); }
private void InitializeSwaggerMetadata() { SwaggerMetadataProvider.SetInfo("Fabric Identity Provider Search Service", "v1", "Fabric.IdentityProviderSearchService provides an API for searching identity providers."); var securitySchemeBuilder = new Oauth2SecuritySchemeBuilder(); securitySchemeBuilder.Flow(Oauth2Flows.Implicit); securitySchemeBuilder.Description("Authentication with Fabric.Identity"); securitySchemeBuilder.AuthorizationUrl(@"http://localhost:5001"); securitySchemeBuilder.Scope(Scopes.SearchPrincipalsScope, "Grants access to search api"); try { SwaggerMetadataProvider.SetSecuritySchemeBuilder(securitySchemeBuilder, "fabric.identityprovidersearchservice"); } catch (ArgumentException ex) { _logger.Warning("Error configuring Swagger Security Scheme. {exceptionMessage}", ex.Message); } catch (NullReferenceException ex) { _logger.Warning("Error configuring Swagger Security Scheme: {exceptionMessage", ex.Message); } }
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines) { SwaggerMetadataProvider.SetInfo("Nancy Swagger Example", "v1.0.0", "Example REST web service"); base.ApplicationStartup(container, pipelines); }
public DemoNancyServiceBootstrapper() : base() { SwaggerMetadataProvider.SetInfo("Cimpress.Nancy.Swagger.Demo", "v0", "A test swagger document"); }