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

     1  package bamboohr
     2  
     3  import (
     4  	"bytes"
     5  	"net/http"
     6  )
     7  
     8  func Request(apiKey string, apiURL string) ([]byte, error) {
     9  	req, err := http.NewRequest("GET", apiURL, http.NoBody)
    10  	if err != nil {
    11  		return nil, err
    12  	}
    13  
    14  	req.SetBasicAuth(apiKey, "x")
    15  
    16  	client := &http.Client{}
    17  	resp, err := client.Do(req)
    18  	if err != nil {
    19  		return nil, err
    20  	}
    21  	defer func() { _ = resp.Body.Close() }()
    22  
    23  	data, err := ParseBody(resp)
    24  	if err != nil {
    25  		return nil, err
    26  	}
    27  
    28  	return data, err
    29  }
    30  
    31  func ParseBody(resp *http.Response) ([]byte, error) {
    32  	var buffer bytes.Buffer
    33  	_, err := buffer.ReadFrom(resp.Body)
    34  	if err != nil {
    35  		return nil, err
    36  	}
    37  
    38  	return buffer.Bytes(), nil
    39  }