public S3V4FileSystemStream(FileSystemFile file, Action <FileSystemStream> disposeAction, int timeoutMs) : base(file, disposeAction) { m_Handle = (S3V4FileSystem.S3V4FSH)file.Handle; m_timeoutMs = timeoutMs; m_Session = file.Session as S3V4FileSystemSession; m_IsNewFile = !S3V4.FileExists(m_Handle.Path, m_Session.AccessKey, m_Session.SecretKey, m_Session.Bucket, m_Session.Region, timeoutMs); }
protected internal override FileSystemSessionItem DoNavigate(FileSystemSession session, string path) { var s3session = (S3V4FileSystemSession)session; S3V4FSH handle = new S3V4FSH(path); if (path != "" && S3V4.FileExists(path, s3session.AccessKey, s3session.SecretKey, s3session.Bucket, s3session.Region, s3session.TimeoutMs)) { return(new FileSystemFile(s3session, handle.Parent, handle.Name, handle)); } if (S3V4.FolderExists(path, s3session.AccessKey, s3session.SecretKey, s3session.Bucket, s3session.Region, s3session.TimeoutMs)) { return(new FileSystemDirectory(s3session, handle.Parent, handle.Name, handle)); } return(null); }