7 Commits
0 ... 2

Author SHA1 Message Date
Christoph Polcin
a03a0a3645 Merge pull request #3 from deyring/master
SetHeader method added to client
2017-04-12 17:59:32 +02:00
Daniel Eyring
12fe295146 SetHeader method added to client 2016-07-27 14:36:21 +02:00
Christoph Polcin
8f99657223 client: dry 2015-12-09 10:02:37 +01:00
Christoph Polcin
b12f1c1b33 Merge pull request #2 from mattn/handle-href
look href if displayname not exists

thanks!
2015-12-09 09:56:31 +01:00
Yasuhiro Matsumoto
33816041d6 Use href instead of displayname for Name() 2015-12-09 17:35:24 +09:00
Christoph Polcin
31c3cc07c7 Merge pull request #1 from mattn/fix-directory-timestamp
directory should have mod-time
2015-12-09 09:32:20 +01:00
Yasuhiro Matsumoto
87bbafc0c0 directory should have mod-time 2015-11-16 22:41:20 +09:00

View File

@@ -6,7 +6,9 @@ import (
"encoding/xml"
"io"
"net/http"
"net/url"
"os"
pathpkg "path"
"strings"
"time"
)
@@ -31,6 +33,10 @@ func NewClient(uri string, user string, pw string) *Client {
return c
}
func (c *Client) SetHeader(key, value string) {
c.headers.Add(key, value)
}
func (c *Client) Connect() error {
rs, err := c.options("/")
if err == nil {
@@ -84,17 +90,20 @@ func (c *Client) ReadDir(path string) ([]os.FileInfo, error) {
if p := getProps(r, "200"); p != nil {
f := new(File)
if ps, err := url.QueryUnescape(r.Href); err == nil {
f.name = pathpkg.Base(ps)
} else {
f.name = p.Name
}
f.path = path + f.name
f.modified = parseModified(&p.Modified)
if p.Type.Local == "collection" {
f.path += "/"
f.size = 0
f.modified = time.Unix(0, 0)
f.isdir = true
} else {
f.size = parseInt64(&p.Size)
f.modified = parseModified(&p.Modified)
f.isdir = false
}