feat(webserver request): add a http.Get example

1. script now exits
2. we initiate a request to the started server to prove the serverHTTP works

what do you think?
This commit is contained in:
Vincent Voyer 2014-07-02 14:55:33 +02:00
parent f90cdc44bb
commit f2e3d99476

View File

@ -329,17 +329,31 @@ func learnConcurrency() {
// A single function from package http starts a web server.
func learnWebProgramming() {
// First parameter of ListenAndServe is TCP address to listen to.
// Second parameter is an interface, specifically http.Handler.
go func() {
err := http.ListenAndServe(":8080", pair{})
fmt.Println(err) // don't ignore errors
}()
requestServer();
}
// Make pair an http.Handler by implementing its only method, ServeHTTP.
func (p pair) ServeHTTP(w http.ResponseWriter, r *http.Request) {
// Serve data with a method of http.ResponseWriter.
w.Write([]byte("You learned Go in Y minutes!"))
}
func requestServer() {
resp, err := http.Get("http://localhost:8080")
fmt.Println(err)
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Printf("\nWebserver said: `%s`", string(body))
}
```
## Further Reading