9c88801a12
Back in the before time, the best practices surrounding usage of Context weren't quite worked out. We defined our own type to make usage easier. As this packaged was used elsewhere, it make it more and more challenging to integrate with the forked `Context` type. Now that it is available in the standard library, we can just use that one directly. To make usage more consistent, we now use `dcontext` when referring to the distribution context package. Signed-off-by: Stephen J Day <stephen.day@docker.com>
22 lines
475 B
Go
22 lines
475 B
Go
package storage
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/docker/distribution/registry/storage/driver"
|
|
)
|
|
|
|
// Exists provides a utility method to test whether or not a path exists in
|
|
// the given driver.
|
|
func exists(ctx context.Context, drv driver.StorageDriver, path string) (bool, error) {
|
|
if _, err := drv.Stat(ctx, path); err != nil {
|
|
switch err := err.(type) {
|
|
case driver.PathNotFoundError:
|
|
return false, nil
|
|
default:
|
|
return false, err
|
|
}
|
|
}
|
|
|
|
return true, nil
|
|
}
|