func formatResponseBody(res *http.Response, httpreq *httplib.BeegoHttpRequest, pretty bool) string { body, err := httpreq.Bytes() if err != nil { log.Fatalln("can't get the url", err) } fmt.Println("") if pretty && strings.Contains(res.Header.Get("Content-Type"), contentJsonRegex) { var output bytes.Buffer err := json.Indent(&output, body, "", " ") if err != nil { log.Fatal("Response Json Indent: ", err) } return output.String() } return string(body) }
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, } } }