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))); } }
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))); } }
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))); } }