Use modularity / up to Exercise 1-12
[goproglang.git] / fetch / fetch.go
1 // Fetch prints the content found at a URL.
2 package fetch
3 import (
4   "fmt"
5   "io"
6   "net/http"
7   "os"
8   "strings"
9 )
10 func main() {
11   for _, url := range os.Args[1:] {
12     if !(strings.HasPrefix(url, "http://")) {
13       url = "http://" + url
14     }
15     resp, err := http.Get(url)
16     if err != nil {
17       fmt.Fprintf(os.Stderr, "fetch: %v\n", err)
18       os.Exit(1)
19     }
20     _, err = io.Copy(os.Stdout, resp.Body)
21     fmt.Println("\nstatus: " + resp.Status)
22     if err != nil {
23       fmt.Fprintf(os.Stderr, "fetch: %v\n", err)
24       os.Exit(1)
25     }
26     // b, err := ioutil.ReadAll(resp.Body)
27     resp.Body.Close()
28   }
29 }