public static IApplicationBuilder UseSigSpec(this IApplicationBuilder app, Action <SigSpecSettings> configure = null)
        {
            var settings = app.ApplicationServices.GetService <IOptions <SigSpecSettings> >()?.Value;

            if (settings == null)
            {
                settings = new SigSpecSettings();
                configure?.Invoke(settings);
            }

            var documents = app.ApplicationServices.GetServices <SigSpecDocumentRegistration>();

            app.UseMiddleware <SigSpecMiddleware>(settings, documents);
            return(app);
        }
        public static IApplicationBuilder UseSigSpec(this IApplicationBuilder app, Action <SigSpecSettings> setupAction = null)
        {
            var options = new SigSpecSettings();

            if (setupAction != null)
            {
                setupAction(options);
            }
            else
            {
                options = app.ApplicationServices.GetRequiredService <IOptions <SigSpecSettings> >().Value;
            }

            app.UseMiddleware <SigSpecMiddleware>(options);
            return(app);
        }