Exemplo n.º 1
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var swaggerUiProvider = _config.GetSwaggerUiProvider();
            var rootUrl           = _config.GetRootUrl(request);
            var assetPath         = request.GetRouteData().Values["assetPath"].ToString();

            foreach (var query in request.GetQueryNameValuePairs())
            {
                switch (query.Key)
                {
                case "cssTheme": _config.CssTheme(query.Value); break;
                }
            }

            try
            {
                var webAsset = swaggerUiProvider.GetAsset(rootUrl, assetPath.TrimEnd('/'));
                var content  = ContentFor(webAsset);
                return(TaskFor(new HttpResponseMessage {
                    Content = content, RequestMessage = request
                }));
            }
            catch (AssetNotFound ex)
            {
                return(TaskFor(request.CreateErrorResponse(HttpStatusCode.NotFound, ex)));
            }
        }
Exemplo n.º 2
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var swaggerUiProvider = _config.GetSwaggerUiProvider();
            var rootUrl           = _config.GetRootUrl(request);
            var assetPath         = request.GetRouteData().Values["assetPath"].ToString();

            foreach (var query in request.GetQueryNameValuePairs())
            {
                switch (query.Key)
                {
                case "url":
                    rootUrl = new Uri(query.Value).GetLeftPart(UriPartial.Authority);
                    _config.SetDiscoveryPath(query.Value.Replace(rootUrl, ""));
                    break;

                case "filter":
                    _config.UIfilter($"'{query.Value}'"); break;
                }
            }

            try
            {
                var webAsset = swaggerUiProvider.GetAsset(rootUrl, assetPath.TrimEnd('/'));
                var content  = ContentFor(webAsset);
                return(TaskFor(new HttpResponseMessage {
                    Content = content, RequestMessage = request
                }));
            }
            catch (AssetNotFound ex)
            {
                return(TaskFor(request.CreateErrorResponse(HttpStatusCode.NotFound, ex)));
            }
        }
Exemplo n.º 3
0
        protected override Task <HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var swaggerUiProvider = _config.GetSwaggerUiProvider();
            var rootUrl           = _config.GetRootUrl(request);
            var assetPath         = request.GetRouteData().Values["assetPath"].ToString();

            try
            {
                var webAsset = swaggerUiProvider.GetAsset(rootUrl, assetPath.TrimEnd('/'));
                var content  = ContentFor(webAsset);
                return(TaskFor(new HttpResponseMessage {
                    Content = content, RequestMessage = request
                }));
            }
            catch (AssetNotFound ex)
            {
                return(TaskFor(request.CreateErrorResponse(HttpStatusCode.NotFound, ex)));
            }
        }