bazaar/pkg/clients/http.go

32 lines
511 B
Go

package clients
import (
"fmt"
"io"
"net/http"
"net/url"
)
type HttpClient struct {
http http.Client
}
func (c HttpClient) Get(u *url.URL) (io.Reader, error) {
res, err := c.http.Get(u.String())
if err != nil {
return nil, fmt.Errorf("error retrieving url: %s", err)
}
if res.StatusCode != 200 {
return nil, fmt.Errorf("error retrieving url: %d %s", res.StatusCode, res.Status)
}
return res.Body, nil
}
func NewBasicHttpClient() HttpClient {
return HttpClient{
http: http.Client{},
}
}