func readEndpointFromBlob()

in internal/provider/provider.go [175:206]


func readEndpointFromBlob() (string, error) {
	c := make(chan int)
	errChan := make(chan error)
	var endpoint string
	var returnError error
	go func() {
		resp, err := http.Get(endpointBlobUrl) // #nosec G107
		if err != nil {
			errChan <- err
			return
		}
		defer func() {
			_ = resp.Body.Close()
		}()

		bytes, err := io.ReadAll(resp.Body)
		if err != nil {
			errChan <- err
			return
		}
		endpoint = string(bytes)
		c <- 1
	}()
	select {
	case <-c:
		return endpoint, returnError
	case err := <-errChan:
		return "", err
	case <-time.After(5 * time.Second):
		return "", fmt.Errorf("timeout on reading default endpoint")
	}
}