/// <summary>
        /// Gets the API definition.
        /// </summary>
        /// <param name="config">The configuration.</param>
        /// <returns>An API definition.</returns>
        public static APIDefinition GetAPIDefinition(this IConfiguration config)
        {
            var apiDefinition = new APIDefinition();

            config.Bind("APIDefinition", apiDefinition);

            return(apiDefinition);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Uses the swagger.
        /// </summary>
        /// <param name="app">The application.</param>
        /// <param name="apiDefinition">The API definition.</param>
        /// <returns>
        /// The application builder.
        /// </returns>
        public static IApplicationBuilder UseSwagger(this IApplicationBuilder app, APIDefinition apiDefinition)
        {
            _ = bool.TryParse(Environment.GetEnvironmentVariable("ENABLE_SWAGGER"), out var enableMiddleware);

            if (!enableMiddleware)
            {
                return(app);
            }

            if (apiDefinition == null)
            {
                throw new ArgumentNullException(nameof(apiDefinition));
            }

            return(app.UseSwagger(apiDefinition.Name, apiDefinition.Version));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Adds the swagger.
        /// </summary>
        /// <param name="services">The services.</param>
        /// <param name="apiDefinition">The API definition.</param>
        /// <returns>
        /// The service collection.
        /// </returns>
        public static IServiceCollection AddSwagger(this IServiceCollection services, [NotNull] APIDefinition apiDefinition)
        {
            services.AddSwagger(apiDefinition.Name, apiDefinition.Description, apiDefinition.Version);

            return(services);
        }