1 回答
TA贡献1842条经验 获得超12个赞
有一个 hacky 解决方案,利用这样一个事实,即您可以在完成其工作http.ResponseWriter后继续写入。http.FileServer一般不推荐,但在这种情况下它可能是可以接受的。
package main
import (
"io"
"log"
"net/http"
)
const (
link = `<link rel="stylesheet" href="/path/to/style.css">`
)
func main() {
fs := http.FileServer(http.Dir("/tmp"))
var handler http.HandlerFunc
handler = func(w http.ResponseWriter, r *http.Request) {
var (
url = r.URL.Path
isDir = url[len(url)-1] == '/'
)
fs.ServeHTTP(w, r)
if isDir {
io.WriteString(w, link)
}
}
log.Fatal(http.ListenAndServe(":8080", handler))
}
- 1 回答
- 0 关注
- 91 浏览
添加回答
举报