func Dial(instance string) (net.Conn, error) {
	return DialContext(context.Background(), instance)
}
Dial does the same as DialContext but using context.Background() as the context.
package proxy
import (
	"fmt"
	"net"
	"net/http"
	"sync"
	"github.com/GoogleCloudPlatform/cloudsql-proxy/proxy/certs"
	"golang.org/x/net/context"
	"golang.org/x/oauth2/google"
)
const DefaultPort = 3307
var dialClient struct {
	c *Client
	sync.Mutex
}
func DialContext(ctx context.Context, instance string) (net.Conn, error) {
	dialClient.Lock()
	c := dialClient.c
	dialClient.Unlock()
	if c == nil {
		if err := InitDefault(ctx); err != nil {
			return nil, fmt.Errorf("default proxy initialization failed; consider calling proxy.Init explicitly: %v", err)
		}
		dialClient.Lock()
		c = dialClient.c
		dialClient.Unlock()
	}
	return c.DialContext(ctx, instance)
}