@@ -40,43 +40,13 @@ type aliasHandler struct {
40
40
dirIndexes []string
41
41
aliases aliases
42
42
43
- globalAuth bool
44
- authUrls []string
45
- authUrlsUsers pathIntsList
46
- authDirs []string
47
- authDirsUsers pathIntsList
48
-
49
- globalIndex bool
50
- indexUrls []string
51
- indexUrlsUsers pathIntsList
52
- indexDirs []string
53
- indexDirsUsers pathIntsList
54
-
55
- globalUpload bool
56
- uploadUrls []string
57
- uploadUrlsUsers pathIntsList
58
- uploadDirs []string
59
- uploadDirsUsers pathIntsList
60
-
61
- globalMkdir bool
62
- mkdirUrls []string
63
- mkdirUrlsUsers pathIntsList
64
- mkdirDirs []string
65
- mkdirDirsUsers pathIntsList
66
-
67
- globalDelete bool
68
- deleteUrls []string
69
- deleteUrlsUsers pathIntsList
70
- deleteDirs []string
71
- deleteDirsUsers pathIntsList
72
-
73
- globalArchive bool
74
- archiveUrls []string
75
- archiveDirs []string
76
-
77
- globalCors bool
78
- corsUrls []string
79
- corsDirs []string
43
+ auth * hierarchyAvailability
44
+ index * hierarchyAvailability
45
+ upload * hierarchyAvailability
46
+ mkdir * hierarchyAvailability
47
+ delete * hierarchyAvailability
48
+ archive * hierarchyAvailability
49
+ cors * hierarchyAvailability
80
50
81
51
globalRestrictAccess []string
82
52
restrictAccessUrls pathStringsList
@@ -217,43 +187,13 @@ func newAliasHandler(
217
187
dirIndexes : p .DirIndexes ,
218
188
aliases : allAliases .filterSuccessor (currentAlias .url ),
219
189
220
- globalAuth : p .GlobalAuth || prefixMatched (p .AuthUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .AuthDirs , util .HasFsPrefixDir , currentAlias .fs ),
221
- authUrls : filterSuccessor (p .AuthUrls , util .HasUrlPrefixDir , currentAlias .url ),
222
- authUrlsUsers : vhostCtx .authUrlsUsers .filterSuccessor (true , util .HasUrlPrefixDir , currentAlias .url ),
223
- authDirs : filterSuccessor (p .AuthDirs , util .HasFsPrefixDir , currentAlias .fs ),
224
- authDirsUsers : vhostCtx .authDirsUsers .filterSuccessor (true , util .HasFsPrefixDir , currentAlias .fs ),
225
-
226
- globalIndex : prefixMatched (p .IndexUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .IndexDirs , util .HasFsPrefixDir , currentAlias .fs ),
227
- indexUrls : filterSuccessor (p .IndexUrls , util .HasUrlPrefixDir , currentAlias .url ),
228
- indexUrlsUsers : vhostCtx .indexUrlsUsers .filterSuccessor (true , util .HasUrlPrefixDir , currentAlias .url ),
229
- indexDirs : filterSuccessor (p .IndexDirs , util .HasFsPrefixDir , currentAlias .fs ),
230
- indexDirsUsers : vhostCtx .indexDirsUsers .filterSuccessor (true , util .HasFsPrefixDir , currentAlias .fs ),
231
-
232
- globalUpload : p .GlobalUpload || prefixMatched (p .UploadUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .UploadDirs , util .HasFsPrefixDir , currentAlias .fs ),
233
- uploadUrls : filterSuccessor (p .UploadUrls , util .HasUrlPrefixDir , currentAlias .url ),
234
- uploadUrlsUsers : vhostCtx .uploadUrlsUsers .filterSuccessor (true , util .HasUrlPrefixDir , currentAlias .url ),
235
- uploadDirs : filterSuccessor (p .UploadDirs , util .HasFsPrefixDir , currentAlias .fs ),
236
- uploadDirsUsers : vhostCtx .uploadDirsUsers .filterSuccessor (true , util .HasFsPrefixDir , currentAlias .fs ),
237
-
238
- globalMkdir : p .GlobalMkdir || prefixMatched (p .MkdirUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .MkdirDirs , util .HasFsPrefixDir , currentAlias .fs ),
239
- mkdirUrls : filterSuccessor (p .MkdirUrls , util .HasUrlPrefixDir , currentAlias .url ),
240
- mkdirUrlsUsers : vhostCtx .mkdirUrlsUsers .filterSuccessor (true , util .HasUrlPrefixDir , currentAlias .url ),
241
- mkdirDirs : filterSuccessor (p .MkdirDirs , util .HasFsPrefixDir , currentAlias .fs ),
242
- mkdirDirsUsers : vhostCtx .mkdirDirsUsers .filterSuccessor (true , util .HasFsPrefixDir , currentAlias .fs ),
243
-
244
- globalDelete : p .GlobalDelete || prefixMatched (p .DeleteUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .DeleteDirs , util .HasFsPrefixDir , currentAlias .fs ),
245
- deleteUrls : filterSuccessor (p .DeleteUrls , util .HasUrlPrefixDir , currentAlias .url ),
246
- deleteUrlsUsers : vhostCtx .deleteUrlsUsers .filterSuccessor (true , util .HasUrlPrefixDir , currentAlias .url ),
247
- deleteDirs : filterSuccessor (p .DeleteDirs , util .HasFsPrefixDir , currentAlias .fs ),
248
- deleteDirsUsers : vhostCtx .deleteDirsUsers .filterSuccessor (true , util .HasFsPrefixDir , currentAlias .fs ),
249
-
250
- globalArchive : p .GlobalArchive || prefixMatched (p .ArchiveUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .ArchiveDirs , util .HasFsPrefixDir , currentAlias .fs ),
251
- archiveUrls : filterSuccessor (p .ArchiveUrls , util .HasUrlPrefixDir , currentAlias .url ),
252
- archiveDirs : filterSuccessor (p .ArchiveDirs , util .HasFsPrefixDir , currentAlias .fs ),
253
-
254
- globalCors : p .GlobalCors || prefixMatched (p .CorsUrls , util .HasUrlPrefixDir , currentAlias .url ) || prefixMatched (p .CorsDirs , util .HasFsPrefixDir , currentAlias .fs ),
255
- corsUrls : filterSuccessor (p .CorsUrls , util .HasUrlPrefixDir , currentAlias .url ),
256
- corsDirs : filterSuccessor (p .CorsDirs , util .HasFsPrefixDir , currentAlias .fs ),
190
+ auth : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalAuth , p .AuthUrls , vhostCtx .authUrlsUsers , p .AuthDirs , vhostCtx .authDirsUsers ),
191
+ index : newHierarchyAvailability (currentAlias .url , currentAlias .fs , false , p .IndexUrls , vhostCtx .indexUrlsUsers , p .IndexDirs , vhostCtx .indexDirsUsers ),
192
+ upload : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalUpload , p .UploadUrls , vhostCtx .uploadUrlsUsers , p .UploadDirs , vhostCtx .uploadDirsUsers ),
193
+ mkdir : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalMkdir , p .MkdirUrls , vhostCtx .mkdirUrlsUsers , p .MkdirDirs , vhostCtx .mkdirDirsUsers ),
194
+ delete : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalDelete , p .DeleteUrls , vhostCtx .deleteUrlsUsers , p .DeleteDirs , vhostCtx .deleteDirsUsers ),
195
+ archive : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalArchive , p .ArchiveUrls , nil , p .ArchiveDirs , nil ),
196
+ cors : newHierarchyAvailability (currentAlias .url , currentAlias .fs , p .GlobalCors , p .CorsUrls , nil , p .CorsDirs , nil ),
257
197
258
198
globalRestrictAccess : globalRestrictAccess ,
259
199
restrictAccessUrls : vhostCtx .restrictAccessUrls .filterSuccessor (false , util .HasUrlPrefixDir , currentAlias .url ),
0 commit comments