smb_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package smb
  2. import (
  3. "fmt"
  4. "net/http"
  5. "imuslab.com/smb/driver/mod/util"
  6. "golang.org/x/net/webdav"
  7. )
  8. const (
  9. UserName = "name"
  10. UserPwd = "pwd"
  11. PORT_iphone = 445
  12. PORT_mac = 10445
  13. )
  14. var config *Config
  15. func init() {
  16. Logger := func(r *http.Request, err error) {
  17. if err != nil {
  18. // logx.Printf("WEBDAV [%s]: %s, ERROR: %s\n", r.Method, r.URL, err)
  19. } else {
  20. // logx.Printf("WEBDAV [%s]: %s \n", r.Method, r.URL)
  21. }
  22. }
  23. pwd := util.PWDR()
  24. anchor1 := NewAnchor("TestDir1", pwd)
  25. anchor2 := NewAnchor("TestDir2", pwd)
  26. config = &Config{
  27. // Port: PORT,
  28. Pwd: func(name string) (string, error) {
  29. if UserName == name {
  30. return UserPwd, nil
  31. }
  32. return "", fmt.Errorf("not found")
  33. },
  34. Tree: func(userName string) ([]*Anchor, error) {
  35. anchorIPC := NewAnchor(NamedPipeShareName, pwd)
  36. return []*Anchor{
  37. anchor1,
  38. anchor2,
  39. anchorIPC,
  40. }, nil
  41. },
  42. Handle: func(path string) *Handler {
  43. return &Handler{&webdav.Handler{
  44. Logger: Logger,
  45. Prefix: "/" + anchor1.Name + "/",
  46. FileSystem: webdav.Dir("/"),
  47. LockSystem: webdav.NewMemLS(),
  48. }}
  49. },
  50. }
  51. }