cloudinit/datasource/datasource.go

32 lines
466 B
Go
Raw Permalink Normal View History

2014-03-18 20:00:41 +04:00
package datasource
import (
"io/ioutil"
"net/http"
)
2014-03-18 20:00:41 +04:00
type Datasource interface {
Fetch() ([]byte, error)
Type() string
}
func fetchURL(url string) ([]byte, error) {
client := http.Client{}
resp, err := client.Get(url)
if err != nil {
return []byte{}, err
}
defer resp.Body.Close()
if resp.StatusCode / 100 != 2 {
return []byte{}, nil
}
respBytes, err := ioutil.ReadAll(resp.Body)
if err != nil {
return nil, err
}
return respBytes, nil
}