1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- package main
- import (
- "fmt"
- "net/http"
- "golang.org/x/net/webdav"
- "imuslab.com/smb/driver/mod/smb"
- "imuslab.com/smb/driver/mod/util"
- )
- var config *smb.Config
- func main() {
- Logger := func(r *http.Request, err error) {
- if err != nil {
- } else {
- }
- }
- pwd := util.PWDR()
- anchor1 := smb.NewAnchor("TestDir1", pwd)
- anchor2 := smb.NewAnchor("TestDir2", pwd)
- config = &smb.Config{
- Pwd: func(name string) (string, error) {
- if "name" == name || name == "apple" {
- return "pwd", nil
- }
- return "", fmt.Errorf("not found")
- },
- Tree: func(userName string) ([]*smb.Anchor, error) {
- anchorIPC := smb.NewAnchor(smb.NamedPipeShareName, pwd)
- return []*smb.Anchor{
- anchor1,
- anchor2,
- anchorIPC,
- }, nil
- },
- Handle: func(path string) *smb.Handler {
- return &smb.Handler{
- &webdav.Handler{
- Logger: Logger,
- Prefix: "/" + anchor1.Name + "/",
- FileSystem: webdav.Dir("/"),
- LockSystem: webdav.NewMemLS(),
- },
- }
- },
- }
- ser := smb.NewServer(config)
- go ser.Start(445)
- fmt.Scanln()
- fmt.Scanln()
- fmt.Scanln()
- }
- func init() {
- }
|