package instagram import ( "errors" "log" "net/http" "strconv" ) var sem = make(chan byte, 2) var client = &http.Client{} func GetHTTPResource(u string) (*http.Response, error) { sem <- 1 req, err := http.NewRequest("GET", u, nil) if err != nil { log.Fatalf("FAT HTTP - Failed to create new Request: %+v", err) <-sem return nil, err } res, err := client.Do(req) if err != nil { <-sem return nil, err } if res.StatusCode != 200 { res.Body.Close() <-sem return nil, errors.New(strconv.Itoa(res.StatusCode)) } <-sem return res, nil }