Compare commits
1 Commits
dependabot
...
v0.2.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0d44b53277 |
2
.github/workflows/unit_tests.yaml
vendored
2
.github/workflows/unit_tests.yaml
vendored
@@ -21,7 +21,7 @@ jobs:
|
|||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: go test -v -covermode=count -coverprofile=coverage.out
|
run: go test -v -covermode=count -coverprofile=coverage.out
|
||||||
- name: Convert coverage to lcov
|
- name: Convert coverage to lcov
|
||||||
uses: jandelgado/gcov2lcov-action@4e1989767862652e6ca8d3e2e61aabe6d43be28b
|
uses: jandelgado/gcov2lcov-action@c680c0f7c7442485f1749eb2a13e54a686e76eb5
|
||||||
- name: Coveralls
|
- name: Coveralls
|
||||||
uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63
|
uses: coverallsapp/github-action@643bc377ffa44ace6394b2b5d0d3950076de9f63
|
||||||
with:
|
with:
|
||||||
|
|||||||
21
ftp.go
21
ftp.go
@@ -11,6 +11,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"net"
|
"net"
|
||||||
"net/textproto"
|
"net/textproto"
|
||||||
|
"regexp"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
@@ -827,7 +828,7 @@ func (c *ServerConn) CurrentDir() (string, error) {
|
|||||||
end := strings.LastIndex(msg, "\"")
|
end := strings.LastIndex(msg, "\"")
|
||||||
|
|
||||||
if start == -1 || end == -1 {
|
if start == -1 || end == -1 {
|
||||||
return "", errors.New("unsuported PWD response format")
|
return "", errors.New("unsupported PWD response format")
|
||||||
}
|
}
|
||||||
|
|
||||||
return msg[start+1 : end], nil
|
return msg[start+1 : end], nil
|
||||||
@@ -1093,6 +1094,24 @@ func (c *ServerConn) Walk(root string) *Walker {
|
|||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Search returns all the directories matching the search pattern
|
||||||
|
func (c *ServerConn) Search(pattern string) ([]string, error) {
|
||||||
|
_, message, err := c.cmd(StatusCommandOK, "SITE SEARCH %s", pattern)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
msgs := make([]string, 0)
|
||||||
|
re := regexp.MustCompile(`^200- (?P<Path>.*) \(.*\).*$`)
|
||||||
|
for _, msg := range strings.Split(message, "\n") {
|
||||||
|
if re.MatchString(msg) {
|
||||||
|
msgs = append(msgs, re.ReplaceAllString(msg, "${Path}"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return msgs, nil
|
||||||
|
}
|
||||||
|
|
||||||
// NoOp issues a NOOP FTP command.
|
// NoOp issues a NOOP FTP command.
|
||||||
// NOOP has no effects and is usually used to prevent the remote FTP server to
|
// NOOP has no effects and is usually used to prevent the remote FTP server to
|
||||||
// close the otherwise idle connection.
|
// close the otherwise idle connection.
|
||||||
|
|||||||
Reference in New Issue
Block a user