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 }