/*
godlighty -- highly-customizable HTTP, HTTP/2, HTTPS server
-Copyright (C) 2021 Sergey Matveev <stargrave@stargrave.org>
+Copyright (C) 2021-2023 Sergey Matveev <stargrave@stargrave.org>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
"html/template"
"io/fs"
"os"
+ "path"
"sort"
"time"
IsDir bool
Type string
ModTime string
+ Symlink string
}
func dirList(
cfg *HostCfg,
- dir string,
+ dir, pth string,
entries []os.DirEntry,
readme string,
) (*os.File, error) {
if fi.IsDir() {
file.IsDir = true
} else {
- file.Type = mediaType(file.Name, cfg.MIMEOverride)
+ file.Type = mediaType(file.Name, cfg.MIMEs)
+ }
+ if (entry.Type() & fs.ModeSymlink) > 0 {
+ file.Symlink, _ = os.Readlink(path.Join(pth, fi.Name()))
}
files = append(files, file)
}