我已经考虑过使用Go为自己的家创建一个小型文件服务器。通常replies = EmailMessage.joins(:email_conversation)
.where(<irrelevant selectors>)
.group('email_conversations.user_id', 'email_messages.email_conversation_id').count
会像这样丑陋地管理文件和目录:
是否可以将CSS添加到此站点?例如更改颜色。先谢谢您的帮助!
答案 0 :(得分:2)
有一个骇人听闻的解决方案,它利用了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))
}