767811eec6 | ||
---|---|---|
auth | ||
examples/simple | ||
test | ||
.gitignore | ||
LICENSE | ||
README.md | ||
build.yaml | ||
context.go | ||
debug.go | ||
go.mod | ||
go.sum | ||
server.go | ||
server_test.go |
README.md
snap
Typical layout for snap servers
web/
templates/
static/
app/
js/...
skin1/...
skin2/...
favicon.ico
Example:
package main
import (
"git.thirdmartini.com/pub/snap"
"git.thirdmartini.com/pub/snap/auth"
)
func handler(c *snap.Context) {
c.Reply("snap/example/simple 1.0")
}
func handlerAuthenticated(c *snap.Context) {
c.Reply("snap/example/simple 1.0 (authenticated)")
}
func mustRunServer(auth auth.Authenticator) {
s := snap.New("localhost:9000", "web", auth)
s.SetDebug(true)
s.SetTemplatePath("web/templates")
s.WithStaticFiles("/static", "web/static" )
s.WithTheme("skin1")
s.HandleFunc("/", handler)
s.HandleFuncAuthenticated("/auth", "", handlerAuthenticated)
s.Serve()
}
func main() {
auth := auth.NewAuth("basic")
auth.AddUser("admin", "admin", "password")
mustRunServer(auth)
}