func newFromConfig(_ blobserver.Loader, config jsonconfig.Obj) (storage blobserver.Storage, err error) { url := config.RequiredString("url") skipStartupCheck := config.OptionalBool("skipStartupCheck", false) if err := config.Validate(); err != nil { return nil, err } client := client.New(url) err = client.SetupAuthFromConfig(config) if err != nil { return nil, err } sto := &remoteStorage{ client: client, } if !skipStartupCheck { // Do a quick dummy operation to check that our credentials are // correct. // TODO(bradfitz,mpl): skip this operation smartly if it turns out this is annoying/slow for whatever reason. c := make(chan blobref.SizedBlobRef, 1) err = sto.EnumerateBlobs(c, "", 1, 0) if err != nil { return nil, err } } return sto, nil }
func newFromConfig(_ blobserver.Loader, config jsonconfig.Obj) (storage blobserver.Storage, err error) { url := config.RequiredString("url") skipStartupCheck := config.OptionalBool("skipStartupCheck", false) if err := config.Validate(); err != nil { return nil, err } client := client.New(url) err = client.SetupAuthFromConfig(config) if err != nil { return nil, err } sto := &remoteStorage{ client: client, } if !skipStartupCheck { // TODO: do a server stat or something to check password } return sto, nil }