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); var content = ContentFor(webAsset); return(TaskFor(new HttpResponseMessage { Content = content })); } catch (AssetNotFound ex) { return(TaskFor(request.CreateErrorResponse(HttpStatusCode.NotFound, ex))); } }