MCPcopy
hub / github.com/kopia/kopia / connectAndOpen

Function connectAndOpen

internal/server/api_repo.go:347–362  ·  view source on GitHub ↗
(ctx context.Context, conn blob.ConnectionInfo, password string, connectOpts *repo.ConnectOptions, opts *Options)

Source from the content-addressed store, hash-verified

345}
346
347func connectAndOpen(ctx context.Context, conn blob.ConnectionInfo, password string, connectOpts *repo.ConnectOptions, opts *Options) (repo.Repository, error) {
348 st, err := blob.NewStorage(ctx, conn, false)
349 if err != nil {
350 return nil, errors.Wrap(err, "can't open storage")
351 }
352 defer st.Close(ctx) //nolint:errcheck
353
354 if err = passwordpersist.OnSuccess(
355 ctx, repo.Connect(ctx, opts.ConfigFile, st, password, connectOpts),
356 opts.PasswordPersist, opts.ConfigFile, password); err != nil {
357 return nil, errors.Wrap(err, "error connecting")
358 }
359
360 //nolint:wrapcheck
361 return repo.Open(ctx, opts.ConfigFile, password, nil)
362}
363
364func handleRepoDisconnect(ctx context.Context, rc requestContext) (any, *apiError) {
365 if err := rc.srv.disconnect(ctx); err != nil {

Callers 2

handleRepoCreateFunction · 0.85
handleRepoConnectFunction · 0.85

Calls 5

CloseMethod · 0.95
NewStorageFunction · 0.92
OnSuccessFunction · 0.92
ConnectFunction · 0.92
OpenFunction · 0.92

Tested by

no test coverage detected