func Get(url string, headers http.Header, callbacks ...func(req *http.Request)) (*http.Response, error) {
	return defaultClient.Get(url, headers, callbacks...)
}
Get makes a HTTP GET request to provided URL with default client
package httpclient
import (
	"bytes"
	"io"
	"io/ioutil"
	"net/http"
	"time"
	"github.com/gojektech/valkyrie"
	"github.com/pkg/errors"
)
type client struct {
	client Doer
	timeout    time.Duration
	retryCount int
	retrier    Retriable
}
const (
	defaultRetryCount  = 0
	defaultHTTPTimeout = 30 * time.Second
)
var _ Client = (*client)(nil)
var defaultClient *client
func init() {
	defaultClient = NewClient()
}
func NewClient(opts ...Option) *client {
	client := client{
		timeout:    defaultHTTPTimeout,
		retryCount: defaultRetryCount,
		retrier:    NewNoRetrier(),
	}
	for _, opt := range opts {
		opt(&client)
	}
	if client.client == nil {
		client.client = &http.Client{
			Timeout: client.timeout,
		}
	}
	return &client
}