github.com/wtfutil/wtf@v0.43.0/modules/twitter/request.go (about)

     1  package twitter
     2  
     3  import (
     4  	"bytes"
     5  	"net/http"
     6  )
     7  
     8  func Request(httpClient *http.Client, apiURL string) ([]byte, error) {
     9  	resp, err := httpClient.Get(apiURL)
    10  	if err != nil {
    11  		return nil, err
    12  	}
    13  	defer func() { _ = resp.Body.Close() }()
    14  
    15  	data, err := ParseBody(resp)
    16  	if err != nil {
    17  		return nil, err
    18  	}
    19  
    20  	return data, err
    21  }
    22  
    23  func ParseBody(resp *http.Response) ([]byte, error) {
    24  	var buffer bytes.Buffer
    25  	_, err := buffer.ReadFrom(resp.Body)
    26  	if err != nil {
    27  		return nil, err
    28  	}
    29  
    30  	return buffer.Bytes(), nil
    31  }