| // +build ignore,OMIT | |
| package main | |
| import ( | |
| "fmt" | |
| "net/http" | |
| ) | |
| func authRequired(f http.HandlerFunc) http.HandlerFunc { | |
| return func(w http.ResponseWriter, r *http.Request) { | |
| if r.FormValue("user") == "" { | |
| http.Error(w, "unknown user", http.StatusForbidden) | |
| return | |
| } | |
| f(w, r) | |
| } | |
| } | |
| var hiHandler = authRequired( | |
| func(w http.ResponseWriter, r *http.Request) { | |
| fmt.Fprintf(w, "Hi, %v", r.FormValue("user")) | |
| }, | |
| ) | |
| func main() { | |
| http.HandleFunc("/hi", hiHandler) | |
| http.ListenAndServe(":8080", nil) | |
| } |