# authdav - a x/net/webdav wrapper Wrappers: * HTTP Basic Auth wrapper for `webdav.Handler` * write only once FileSystem wrapper for `webdav.FileSystem` ## Usage ### HTTP Basic Auth ``` package main import ( "git.giftfish.de/ston1th/authdav" "golang.org/x/net/webdav" "log" "net/http" ) type exampleAuthenticator struct {} func (exampleAuthenticator) BasicAuth(user, password string) bool { if user == "user" && password == "password" { return true } return false } func main() { auth := exampleAuthenticator{} handler := authdav.NewWebdavBasicAuth("", webdav.Dir("."), nil, nil, auth, "webdav with basic auth") log.Fatal(http.ListenAndServe(":8080", handler)) } ``` ### Write Only ``` package main import ( "git.giftfish.de/ston1th/authdav" "golang.org/x/net/webdav" "log" "net/http" ) func main() { fs := authdav.NewWriteOnlyOnceFileSystem(webdav.Dir(".")) handler := &webdav.Handler{ Prefix: "", FileSystem: fs, LockSystem: webdav.NewMemLS(), Logger: nil, } log.Fatal(http.ListenAndServe(":8080", handler)) } ```