February 2018
Intermediate to advanced
340 pages
9h 43m
English
package main import ( "context" "fmt" "log" "net/http" "os" "os/signal" "time" ) func main() { mux := http.NewServeMux() mux.HandleFunc("/",func(w http.ResponseWriter, r *http.Request){ fmt.Fprintln(w, "Hello world!") }) srv := &http.Server{Addr: ":8080", Handler: mux} go func() { if err := srv.ListenAndServe(); err != nil { log.Printf("Server error: %s\n", err) } }() log.Println("Server listening on : " + srv.Addr) stopChan := make(chan os.Signal) signal.Notify(stopChan, os.Interrupt) <-stopChan // wait for SIGINT log.Println("Shutting down server...") ctx, cancel := context.WithTimeout( ...Read now
Unlock full access