Skip to content

Commit 3c1549e

Browse files
fix: resolve limitation of fetching only 100 redirects for websites (#11424)
1 parent 9fd030b commit 3c1549e

File tree

1 file changed

+19
-8
lines changed

1 file changed

+19
-8
lines changed

agent/app/service/website.go

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1745,8 +1745,7 @@ func (w WebsiteService) OperateRedirect(req request.NginxRedirectReq) (err error
17451745

17461746
func (w WebsiteService) GetRedirect(id uint) (res []response.NginxRedirectConfig, err error) {
17471747
var (
1748-
website model.Website
1749-
fileList response.FileInfo
1748+
website model.Website
17501749
)
17511750
website, err = websiteRepo.GetFirst(repo.WithByID(id))
17521751
if err != nil {
@@ -1757,27 +1756,39 @@ func (w WebsiteService) GetRedirect(id uint) (res []response.NginxRedirectConfig
17571756
if !fileOp.Stat(includeDir) {
17581757
return
17591758
}
1760-
fileList, err = NewIFileService().GetFileList(request.FileOption{FileOption: files.FileOption{Path: includeDir, Expand: true, Page: 1, PageSize: 100}})
1761-
if len(fileList.Items) == 0 {
1759+
entries, err := os.ReadDir(includeDir)
1760+
if err != nil {
1761+
return
1762+
}
1763+
if len(entries) == 0 {
17621764
return
17631765
}
1766+
17641767
var (
17651768
content []byte
17661769
config *components.Config
17671770
)
1768-
for _, configFile := range fileList.Items {
1771+
for _, entry := range entries {
1772+
if entry.IsDir() {
1773+
continue
1774+
}
1775+
fileName := entry.Name()
1776+
if !strings.HasSuffix(fileName, ".conf") && !strings.HasSuffix(fileName, ".conf.bak") {
1777+
continue
1778+
}
17691779
redirectConfig := response.NginxRedirectConfig{
17701780
WebsiteID: website.ID,
17711781
}
1772-
parts := strings.Split(configFile.Name, ".")
1782+
parts := strings.Split(fileName, ".")
17731783
redirectConfig.Name = parts[0]
17741784
if parts[1] == "conf" {
17751785
redirectConfig.Enable = true
17761786
} else {
17771787
redirectConfig.Enable = false
17781788
}
1779-
redirectConfig.FilePath = configFile.Path
1780-
content, err = fileOp.GetContent(configFile.Path)
1789+
filePath := path.Join(includeDir, fileName)
1790+
redirectConfig.FilePath = filePath
1791+
content, err = fileOp.GetContent(filePath)
17811792
if err != nil {
17821793
return
17831794
}

0 commit comments

Comments
 (0)