Render HTML template if User-Agent is a regular browser

This commit is contained in:
Martin Polden 2012-11-19 19:50:49 +01:00
parent afebbf00f5
commit f0bed47d1e

View File

@ -2,6 +2,7 @@ package main
import (
"fmt"
"html/template"
"io"
"log"
"net"
@ -9,6 +10,10 @@ import (
"regexp"
)
type Client struct {
Host string
}
func isCli(userAgent string) bool {
match, _ := regexp.MatchString("^(?i)(curl|wget|fetch\\slibfetch)\\/.*$",
userAgent)
@ -31,7 +36,9 @@ func handler(w http.ResponseWriter, req *http.Request) {
if isCli(req.UserAgent()) {
io.WriteString(w, fmt.Sprintf("%s\n", host))
} else {
// XXX: Render HTML
t, _ := template.ParseFiles("index.html")
client := &Client{Host: host}
t.Execute(w, client)
}
}