func (s *JoyentStorage) Get(name string) (io.ReadCloser, error) { b, err := s.manta.GetObject(s.containerName, name) if err != nil { return nil, coreerrors.NewNotFound(err, fmt.Sprintf("cannot find %s", name)) } r := byteCloser{bytes.NewReader(b)} return r, nil }
// DeleteContainer deletes the named container from the storage account. func (s *JoyentStorage) DeleteContainer(containerName string) error { err := s.manta.DeleteDirectory(containerName) if err == nil && strings.EqualFold(s.containerName, containerName) { s.madeContainer = false } if je.IsResourceNotFound(err) { return coreerrors.NewNotFound(err, fmt.Sprintf("cannot delete %s, not found", containerName)) } return err }
// Get implements storage.StorageReader.Get. func (s *SSHStorage) Get(name string) (io.ReadCloser, error) { logger.Debugf("getting %q from storage", name) path, err := s.path(name) if err != nil { return nil, err } out, err := s.runf(flockShared, "base64 < %s", utils.ShQuote(path)) if err != nil { err := err.(SSHStorageError) if strings.Contains(err.Output, "No such file") { return nil, coreerrors.NewNotFound(err, "") } return nil, err } decoded, err := base64.StdEncoding.DecodeString(out) if err != nil { return nil, err } return ioutil.NopCloser(bytes.NewBuffer(decoded)), nil }
// Get implements storage.StorageReader.Get. func (f *fileStorageReader) Get(name string) (io.ReadCloser, error) { if isInternalPath(name) { return nil, &os.PathError{ Op: "Get", Path: name, Err: os.ErrNotExist, } } filename := f.fullPath(name) fi, err := os.Stat(filename) if err != nil { if os.IsNotExist(err) { err = coreerrors.NewNotFound(err, "") } return nil, err } else if fi.IsDir() { return nil, coreerrors.NotFoundf("no such file with name %q", name) } file, err := os.Open(filename) if err != nil { return nil, err } return file, nil }
func convertToolsError(err *error) { if isToolsError(*err) { *err = errors.NewNotFound(*err, "") } }
// maybeNotFound returns a errors.NotFoundError if the root cause of the specified error is due to a file or // container not being found. func maybeNotFound(err error) (error, bool) { if err != nil && gooseerrors.IsNotFound(err) { return coreerrors.NewNotFound(err, ""), true } return err, false }
func maybeNotFound(err error) error { if err != nil && s3ErrorStatusCode(err) == 404 { return errors.NewNotFound(err, "") } return err }