a2wfs.go 950 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package afero2webdav
  2. import (
  3. "context"
  4. "github.com/spf13/afero"
  5. "golang.org/x/net/webdav"
  6. "os"
  7. )
  8. var _ webdav.FileSystem = (*Afero2Webdav)(nil)
  9. type Afero2Webdav struct {
  10. AferoFs afero.Fs
  11. }
  12. func NewAfero2Webdav(aferoFs afero.Fs) *Afero2Webdav {
  13. return &Afero2Webdav{
  14. AferoFs: aferoFs,
  15. }
  16. }
  17. func (a Afero2Webdav) Mkdir(ctx context.Context, name string, perm os.FileMode) error {
  18. return a.AferoFs.Mkdir(name, perm)
  19. }
  20. func (a Afero2Webdav) OpenFile(ctx context.Context, name string, flag int, perm os.FileMode) (webdav.File, error) {
  21. return a.AferoFs.OpenFile(name, flag, perm)
  22. }
  23. func (a Afero2Webdav) RemoveAll(ctx context.Context, name string) error {
  24. return a.AferoFs.RemoveAll(name)
  25. }
  26. func (a Afero2Webdav) Rename(ctx context.Context, oldName, newName string) error {
  27. return a.AferoFs.Rename(oldName, newName)
  28. }
  29. func (a Afero2Webdav) Stat(ctx context.Context, name string) (os.FileInfo, error) {
  30. return a.AferoFs.Stat(name)
  31. }