code: func fetchURL(source string, timeout time.Duration, tr http.RoundTripper) (io.ReadCloser, error) {
  	client := &http.Client{
  		Transport: tr,
  		Timeout:   timeout + 5*time.Second,
  	}
  	resp, err := client.Get(source)
  	if err != nil {
  		return nil, fmt.Errorf("http fetch: %v", err)
  	}
  	if resp.StatusCode != http.StatusOK {
  		defer resp.Body.Close()
  		return nil, statusCodeError(resp)
  	}
  
  	return resp.Body, nil
  }
docs: // fetchURL fetches a profile from a URL using HTTP.