bug fix
This commit is contained in:
parent
a4c746c7e9
commit
0c7423d604
1 changed files with 8 additions and 2 deletions
10
filter.go
10
filter.go
|
|
@ -8,31 +8,37 @@ import (
|
|||
"strings"
|
||||
)
|
||||
|
||||
// Matcher is the matcher function type
|
||||
type Matcher func(path string) bool
|
||||
|
||||
// Filter defines an interface to filter paths or files
|
||||
type Filter interface {
|
||||
Filter(path string) error
|
||||
}
|
||||
|
||||
// ErrMacOSFilter error returned by the MacOSFilter
|
||||
var ErrMacOSFilter = errors.New("authdav: MacOS filter: access denied")
|
||||
|
||||
// MacOSFilter implements a filter for MacOS specific files
|
||||
type MacOSFilter struct {
|
||||
match []Matcher
|
||||
}
|
||||
|
||||
// NewMacOSFilter returns a new MacOSFilter
|
||||
func NewMacOSFilter() *MacOSFilter {
|
||||
return &MacOSFilter{
|
||||
match: []Matcher{
|
||||
func(p string) {
|
||||
func(p string) bool {
|
||||
return p == ".DS_Store"
|
||||
},
|
||||
func(p string) {
|
||||
func(p string) bool {
|
||||
return strings.HasPrefix(p, "._")
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// Filter implements the Filter interface
|
||||
func (f *MacOSFilter) Filter(path string) error {
|
||||
_, f := filepath.Split(path)
|
||||
for _, m := range f.match {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue