public virtual IActionResult Get(string documentName)
        {
            var swaggerProvider = GetSwaggerProvider();
            var options         = GetSwaggerOptions();

            var builder = new SwaggerDocumentBuilder(options);

            var result = builder.Build(
                HttpContext.Request,
                swaggerProvider,
                documentName);

            return(Content(result, "application/json"));
        }
        public async Task Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
        {
            if (!RequestingSwaggerDocument(httpContext.Request, out string documentName))
            {
                await _next(httpContext);

                return;
            }

            try
            {
                var swaggerDocument =
                    _swaggerDocumentBuilder.Build(
                        httpContext.Request,
                        swaggerProvider,
                        documentName);

                await RespondWithSwaggerJson(httpContext.Response, swaggerDocument);
            }
            catch (UnknownSwaggerDocument)
            {
                RespondWithNotFound(httpContext.Response);
            }
        }