Add herdyo command for an example of a multisite

This commit is contained in:
Daniel Heath 2018-04-28 19:54:44 +10:00
parent d48d1458a5
commit e53123d8fa
1 changed files with 42 additions and 0 deletions

42
cmd/herdyo/herdyo.go Normal file
View File

@ -0,0 +1,42 @@
package main
import (
"net/http"
"strings"
"github.com/gin-contrib/sessions"
"github.com/schollz/cowyo/server"
)
func main() {
store := sessions.NewCookieStore([]byte("secret"))
first := server.Site{
PathToData: "site1",
Debounce: 500,
SessionStore: store,
AllowInsecure: true,
HotTemplateReloading: true,
Fileuploads: true,
MaxUploadSize: 2,
}.Router()
second := server.Site{
PathToData: "site2",
Debounce: 500,
SessionStore: store,
AllowInsecure: true,
HotTemplateReloading: true,
Fileuploads: true,
MaxUploadSize: 2,
}.Router()
panic(http.ListenAndServe("localhost:8000", http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
if strings.HasPrefix(r.Host, "first") {
first.ServeHTTP(rw, r)
} else if strings.HasPrefix(r.Host, "second") {
second.ServeHTTP(rw, r)
} else {
http.NotFound(rw, r)
}
})))
}