Go Web Development Cookbook
上QQ阅读APP看书,第一时间看更新

How it works…

Once we run the program, the HTTP server will start locally listening on port 8080.

Browsing http://localhost:8080 will show us the same output we saw in our previous recipe, as shown in the following screenshot:

Let's understand the changes we introduced in the main() method as part of this recipe:

  • router :=mux.NewRouter(): Here we instantiated the gorilla/mux router calling the NewRouter() handler of the mux router.
  • router.HandleFunc("/",renderTemplate).Methods("GET"): Here we registered the / URL pattern with the renderTemplate handler. This means renderTemplate will execute for every request with the URL pattern /.
  • router.PathPrefix("/").Handler(http.StripPrefix("/static", http.FileServer(http.Dir("static/")))): Here we are registering / as a new route along with setting the handler to be executed once it is called.
  • http.StripPrefix("/static", http.FileServer(http.Dir("static/"))): This returns a handler that serves HTTP requests by removing /static from the request URL's path and invoking the file server. StripPrefix handles a request for a path that doesn't begin with a prefix by replying with an HTTP 404.