in azkustodata/kusto.go [50:80]
func New(kcsb *ConnectionStringBuilder, options ...Option) (*Client, error) {
tkp, err := kcsb.newTokenProvider()
if err != nil {
return nil, err
}
auth := &Authorization{
TokenProvider: tkp,
}
endpoint := kcsb.DataSource
client := &Client{auth: *auth, endpoint: endpoint, clientDetails: NewClientDetails(kcsb.ApplicationForTracing, kcsb.UserForTracing)}
for _, o := range options {
o(client)
}
if client.http == nil {
client.http = &http.Client{
CheckRedirect: func(req *http.Request, via []*http.Request) error {
return http.ErrUseLastResponse
},
}
}
conn, err := NewConn(endpoint, *auth, client.http, client.clientDetails)
if err != nil {
return nil, err
}
client.conn = conn
return client, nil
}