|
|
|
@ -29,6 +29,9 @@ var (
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
flag.Parse()
|
|
|
|
|
if !devMode() {
|
|
|
|
|
tmpl = template.Must(template.New("home").Parse(slurpHTML()))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
http.HandleFunc("/", root)
|
|
|
|
|
log.Printf("Starting hello server.")
|
|
|
|
@ -61,7 +64,16 @@ func slurpHTML() string {
|
|
|
|
|
return string(slurp)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tmpl = template.Must(template.New("home").Parse(slurpHTML()))
|
|
|
|
|
func devMode() bool { return *httpsAddr == "" && *httpAddr != "" }
|
|
|
|
|
|
|
|
|
|
func getTmpl() (*template.Template, error) {
|
|
|
|
|
if devMode() {
|
|
|
|
|
return template.New("home").Parse(slurpHTML())
|
|
|
|
|
}
|
|
|
|
|
return tmpl, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var tmpl *template.Template // not used in dev mode, initialized by main after flag parse
|
|
|
|
|
|
|
|
|
|
type tmplData struct {
|
|
|
|
|
DisplayName string // "Foo Barberson"
|
|
|
|
@ -88,6 +100,13 @@ func root(w http.ResponseWriter, r *http.Request) {
|
|
|
|
|
http.Error(w, "no remote addr", 500)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
tmpl, err := getTmpl()
|
|
|
|
|
if err != nil {
|
|
|
|
|
w.Header().Set("Content-Type", "text/plain")
|
|
|
|
|
http.Error(w, "template error: "+err.Error(), 500)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
who, err := whoIs(ip)
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.Printf("whois(%q) error: %v", ip, err)
|
|
|
|
|