Пример #1
0
        public static OpenApiDocument GetDocument(OpenApiModuleOptions options, string versionName)
        {
            var document = new OpenApiDocument();

            document.Components         = new OpenApiComponents();
            document.Components.Schemas = new Dictionary <string, OpenApiSchema>();

            var info = new OpenApiInfo();

            info.Version = versionName;
            info.Title   = options.Title;

            OpenApiContact contact = new OpenApiContact();

            contact.Name  = options.ContactName;
            contact.Email = options.ContactEmail;
            info.Contact  = contact;

            document.Info = info;

            document.Components.SecuritySchemes = new Dictionary <string, OpenApiSecurityScheme>();

            if (options.EnableBearerToken)
            {
                OpenApiSecurityScheme openApiSecurityScheme = new OpenApiSecurityScheme();
                openApiSecurityScheme.Type         = SecuritySchemeType.Http;
                openApiSecurityScheme.Scheme       = "bearer";
                openApiSecurityScheme.BearerFormat = "JWT";
                document.Components.SecuritySchemes.Add(new KeyValuePair <string, OpenApiSecurityScheme>("bearerAuth", openApiSecurityScheme));
            }

            return(document);
        }
Пример #2
0
 /// <summary>
 /// OpenAPI module add the container
 /// </summary>
 /// <param name="this"></param>
 /// <param name="options"></param>
 /// <returns></returns>
 public static IHostBuilder AddOpenApiModule(this IHostBuilder @this, OpenApiModuleOptions options)
 {
     @this.ContainerBuilder.Register(r => options).As <OpenApiModuleOptions>().SingleInstance();
     @this
     .ContainerBuilder
     .RegisterType <OpenApiModule>()
     .SingleInstance();
     return(@this);
 }
Пример #3
0
 public static void AddHeaders(OpenApiOperation operation, OpenApiModuleOptions options)
 {
     foreach (var header in options.Headers)
     {
         OpenApiParameter openApiHeader = new OpenApiParameter();
         openApiHeader.Name     = header;
         openApiHeader.In       = ParameterLocation.Header;
         openApiHeader.Required = false;
         operation.Parameters.Add(openApiHeader);
     }
 }