in internal/conn/storage/storage.go [123:157]
func New(endpoint string, cred azcore.TokenCredential, options ...Option) (*Client, error) {
client := &Client{
now: time.Now,
}
for _, o := range options {
if err := o(client); err != nil {
return nil, err
}
}
if client.log == nil {
client.log = slog.Default()
}
if client.fakeUploader != nil {
return client, nil
}
sClient, err := service.NewClient(endpoint, cred, &service.ClientOptions{ClientOptions: client.clientOptions})
if err != nil {
return nil, err
}
client.cli = sClient
// TODO: We need to check if the storage containers delete themselves after a certain period of time.
// If not fail.
client.creds, err = newCredCache(sClient, withLogger(client.log))
if err != nil {
return nil, err
}
return client, nil
}