// New returns the client.
New returns the client.
// New returns the client .
func New(endpoint string, signer signer, metrics metricsProvider, opts ...ClientOpt) *Client {
	op := &clientOptions{http: &http.Client{
		Timeout: time.Minute,
	}}
	for _, fn := range opts {
		fn(op)
	}
	var vctClient *vct.Client
	if strings.TrimSpace(endpoint) != "" {
		vctClient = vct.New(endpoint, vct.WithHTTPClient(op.http))
	}
	return &Client{
		signer:         signer,
		endpoint:       endpoint,
		documentLoader: op.documentLoader,
		vct:            vctClient,
		metrics:        metrics,
	}
}
func New ( endpoint string , signer signer , metrics metricsProvider , opts ... ClientOpt ) * Client { op := & clientOptions { http : & http . Client { Timeout : time . Minute , } } for _ , fn := range opts { fn ( op ) } var vctClient * vct . Client if strings . TrimSpace ( endpoint ) != " " { vctClient = vct . New ( endpoint , vct . WithHTTPClient ( op . http ) ) } return & Client { signer : signer , endpoint : endpoint , documentLoader : op . documentLoader , vct : vctClient , metrics : metrics , } }
New returns the client.
New returns the client .