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  }