mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-12-23 17:41:41 +00:00
Merge pull request #663 from vvo/patch-2
feat(webserver request): add a http.Get example
This commit is contained in:
commit
09459a25fe
@ -339,17 +339,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.
|
||||
err := http.ListenAndServe(":8080", pair{})
|
||||
fmt.Println(err) // don't ignore errors
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user