A small web server
Enough with the web clients: in this section, you will learn how to develop web servers in Go!
The Go code for the implementation of a naive web server can be found in webServer.go, and this will be presented in four parts; the first part is the following:
package main import ( "fmt" "net/http" "os" )
The second part is where things start to get tricky and strange:
func myHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Serving: %s\n", r.URL.Path)
fmt.Printf("Served: %s\n", r.Host)
} This is a kind of function that handles HTTP requests: the function takes two arguments, a http.ResponseWriter variable and a pointer to an http.Request variable. The first argument will be used for constructing the HTTP response, whereas the http.Request variable holds the details of the HTTP request that was received by the server, including the requested URL and the IP address of the client.
The third part of webServer.go has the following Go code:
func...