func worker(wg *sync.WaitGroup, ch chan int, results chan *result, b *httplib.BeegoHttpRequest) { for _ = range ch { s := time.Now() code := 0 size := int64(0) resp, err := b.SendOut() if err == nil { size = resp.ContentLength code = resp.StatusCode resp.Body.Close() } wg.Done() results <- &result{ statusCode: code, duration: time.Now().Sub(s), err: err, contentLength: size, } } }