|
|
|
@ -1,8 +1,10 @@
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using Microsoft.Extensions.FileProviders;
|
|
|
|
|
using Microsoft.Extensions.FileProviders.Physical;
|
|
|
|
|
using Volo.Abp.DependencyInjection;
|
|
|
|
|
using Volo.Abp.Http.Modeling;
|
|
|
|
|
using Volo.Abp.Json;
|
|
|
|
@ -92,15 +94,35 @@ public class ClientProxyApiDescriptionFinder : IClientProxyApiDescriptionFinder,
|
|
|
|
|
{
|
|
|
|
|
if (directoryContent.IsDirectory)
|
|
|
|
|
{
|
|
|
|
|
GetGenerateProxyFileInfos(fileInfoList, directoryContent.PhysicalPath);
|
|
|
|
|
GetGenerateProxyFileInfos(fileInfoList, GetDirectoryContentPath(path, directoryContent));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (directoryContent.Name.EndsWith("generate-proxy.json"))
|
|
|
|
|
{
|
|
|
|
|
fileInfoList.Add(VirtualFileProvider.GetFileInfo(directoryContent.GetVirtualOrPhysicalPathOrNull()));
|
|
|
|
|
fileInfoList.Add(VirtualFileProvider.GetFileInfo(GetProxyFileInfoPath(path, directoryContent)));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string GetDirectoryContentPath(string rootPath, IFileInfo fileInfo)
|
|
|
|
|
{
|
|
|
|
|
if (fileInfo is PhysicalDirectoryInfo physicalDirectoryInfo)
|
|
|
|
|
{
|
|
|
|
|
return rootPath + physicalDirectoryInfo.Name.EnsureStartsWith('/');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fileInfo.PhysicalPath;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private string GetProxyFileInfoPath(string rootPath, IFileInfo fileInfo)
|
|
|
|
|
{
|
|
|
|
|
if (fileInfo is PhysicalFileInfo physicalFileInfo)
|
|
|
|
|
{
|
|
|
|
|
return rootPath + physicalFileInfo.Name.EnsureStartsWith('/');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return fileInfo.GetVirtualOrPhysicalPathOrNull();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|