diff --git a/Submissions/task5.go b/Submissions/task5.go new file mode 100644 index 0000000..cc2c7a7 --- /dev/null +++ b/Submissions/task5.go @@ -0,0 +1,48 @@ +package main + +import ( + "encoding/json" + "fmt" + "io/ioutil" + "log" + "net/http" + "time" +) + +type people struct { + Number int `json:"number"` +} + +func main() { + + url := "http://api.open-notify.org/astros.json" + + spaceClient := http.Client{ + Timeout: time.Second * 2, // Maximum of 2 secs + } + + req, err := http.NewRequest(http.MethodGet, url, nil) + if err != nil { + log.Fatal(err) + } + + req.Header.Set("User-Agent", "spacecount-tutorial") + + res, getErr := spaceClient.Do(req) + if getErr != nil { + log.Fatal(getErr) + } + + body, readErr := ioutil.ReadAll(res.Body) + if readErr != nil { + log.Fatal(readErr) + } + + people1 := people{} + jsonErr := json.Unmarshal(body, &people1) + if jsonErr != nil { + log.Fatal(jsonErr) + } + + fmt.Println(people1.Number) +}