cmd/hello: use go:embed for the template

Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick 2021-03-01 18:47:27 -08:00
parent 9df4185c94
commit b46e337cdc

View File

@ -7,6 +7,7 @@ package main // import "tailscale.com/cmd/hello"
import (
"context"
_ "embed"
"encoding/json"
"flag"
"fmt"
@ -30,6 +31,9 @@ var (
testIP = flag.String("test-ip", "", "if non-empty, look up IP and exit before running a server")
)
//go:embed hello.tmpl.html
var embeddedTemplate string
func main() {
flag.Parse()
if *testIP != "" {
@ -43,7 +47,10 @@ func main() {
return
}
if !devMode() {
tmpl = template.Must(template.New("home").Parse(slurpHTML()))
if embeddedTemplate == "" {
log.Fatalf("embeddedTemplate is empty; must be build with Go 1.16+")
}
tmpl = template.Must(template.New("home").Parse(embeddedTemplate))
}
http.HandleFunc("/", root)