Skip to content

Commit 62dd8a1

Browse files
committed
FileSystemHandler: Apply the same fix to files that we did earlier for directories
1 parent ed39a84 commit 62dd8a1

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

Src/FileSystemHandler.cs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,17 @@ void processConfig()
169169

170170
if (File.Exists(curPath))
171171
{
172-
soFarUrl += "/" + new DirectoryInfo(p + soFar).EnumerateFiles(suitablePiece).First().Name.UrlEscape();
173-
172+
var examinePiece = suitablePiece;
173+
tryAgain:
174+
var files = new DirectoryInfo(p + soFar).GetFiles(examinePiece);
175+
if (files.Length == 0 && examinePiece.EndsWith('.'))
176+
{
177+
examinePiece = examinePiece[..^1];
178+
goto tryAgain;
179+
}
180+
soFarUrl += "/" + files[0].Name.UrlEscape();
174181
if (request.Url.Path != soFarUrl)
175182
return handleHeaderProcessor(FileSystemResponseType.Redirect, HttpResponse.Redirect(request.Url.WithPath(soFarUrl)));
176-
177183
var opts = Options ?? DefaultOptions;
178184
return handleHeaderProcessor(FileSystemResponseType.File, HttpResponse.File(curPath, opts.GetMimeType(curPath), opts.MaxAge, request.Headers.IfModifiedSince));
179185
}

0 commit comments

Comments
 (0)