github.com/EngineerKamesh/gofullstack@v0.0.0-20180609171605-d41341d7d4ee/volume1/section6/webserver/webserver.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "net/http" 6 7 "github.com/EngineerKamesh/gofullstack/volume1/section5/validationkit" 8 ) 9 10 func helloGopherHandler(w http.ResponseWriter, r *http.Request) { 11 fmt.Fprintf(w, "Hello Gopher!") 12 } 13 14 func checkUsernameSyntaxHandler(w http.ResponseWriter, r *http.Request) { 15 16 var usernameSyntaxResult bool 17 username := r.URL.Query().Get("username") 18 19 if username == "" { 20 http.Error(w, "Username not provided!", http.StatusInternalServerError) 21 } else { 22 usernameSyntaxResult = validationkit.CheckUsernameSyntax(username) 23 fmt.Fprintf(w, "Syntax Check Result for %v is %v", username, usernameSyntaxResult) 24 } 25 26 } 27 28 func main() { 29 http.HandleFunc("/hello-gopher", helloGopherHandler) 30 http.HandleFunc("/username-syntax-checker", checkUsernameSyntaxHandler) 31 http.ListenAndServe(":8080", nil) 32 }