Sebastien Binet
7d337ac048
internal: fix always-true interface comparison
...
This CL corrects the following bug uncovered by staticcheck:
```
internal/elements.go:148:6: this comparison is always true (SA4023)
internal/elements.go:146:18: the lhs of the comparison gets its value from here and has a concrete type
```
Signed-off-by: Sebastien Binet <binet@cern.ch>
2023-12-15 15:07:59 +01:00
Simon Ser
d7891ce50c
internal: fix XML element struct naming
...
We were sometimes using TitleCase, sometimes Lowercase. Let's align
on the idiomatic Go naming and pick TitleCase everywhere.
2022-05-31 23:04:42 +02:00
Simon Ser
55a9274ba6
internal: use Namespace instead of "DAV:"
2022-05-31 17:10:30 +02:00
Simon Ser
1c71a7a1c4
internal: add more context to Response.DecodeProp errors
2022-05-31 17:04:44 +02:00
Simon Ser
9bc7a8f15b
internal: drop Multistatus.Get
...
This is now unused.
2022-05-31 16:11:08 +02:00
Simon Ser
d8a8af0448
internal: don't send an empty error element
...
According to RFC 4918 section 14.5, the error element can't be empty.
2022-05-02 20:41:33 +02:00
Simon Ser
3f8b212b0d
internal: add Response.Err
...
Builds a detailed HTTPError + Error if the Response is a failure.
It contains more context than just the HTTPError.
2022-05-02 15:43:43 +02:00
Simon Ser
46ebe58ac2
internal: introduce NewErrorResponse
...
Same as NewOKResponse but for errors.
2022-05-02 15:43:43 +02:00
Sebastien Binet
8efde26ef9
internal: use http.TimeFormat to marshal Time values
2021-03-16 18:42:55 +01:00
Apehaenger
ed52608852
Make Response.Path return the path on error
2021-01-12 12:57:28 +01:00
AlmogBaku
9e23289610
sync-collection for client
2020-05-25 18:28:24 +02:00
Simon Ser
4c0dc5d900
internal: parse WebDAV toplevel <error> elements
2020-05-13 15:02:52 +02:00
AlmogBaku
1b725cb0b9
fixes #33 , remove missingPropError error
2020-04-02 16:48:13 +02:00
Simon Ser
0b2d0a706c
internal: accomodate for trailign slashes in Multistatus.Get
2020-02-12 17:12:21 +01:00
Simon Ser
3ea3818dd8
internal: fix Status text marshaling
2020-02-03 21:54:55 +01:00
Simon Ser
69d8cf54ff
internal: fix ETag.String returning unquoted string
2020-02-03 21:52:15 +01:00
Simon Ser
25678476db
internal: add ETag
2020-02-03 21:48:31 +01:00
Simon Ser
f04c1c9421
webdav: add support for ETag to client & server
2020-01-22 12:03:58 +01:00
Simon Ser
6eeeccb96e
all: encode hrefs, replace hrefs with path in public API
...
Closes: https://github.com/emersion/go-webdav/issues/14
Closes: https://github.com/emersion/go-webdav/issues/16
2020-01-22 11:07:30 +01:00
Simon Ser
90fe8dedf7
internal: add PROPPATCH support to server
2020-01-21 23:18:27 +01:00
Simon Ser
63cdea07be
internal: allow Response.DecodeProp to decode multiple values
2020-01-21 18:41:25 +01:00
Simon Ser
3a61646ab4
carddav: add current-user-principal to server
2020-01-20 10:56:25 +01:00
Simon Ser
d8ce7d353d
internal: check for response error in Multistatus.Get
2020-01-19 15:41:08 +01:00
Simon Ser
6e0ea58de1
carddav: populate AddressBook.{Name,MaxResourceSize} in client
2020-01-19 15:29:51 +01:00
Simon Ser
edfc2804b5
carddav: add displayname and addressbook-description to server
2020-01-19 14:53:58 +01:00
Simon Ser
b311299ac0
internal: add Prop.Get, Prop.Decode
2020-01-19 12:01:55 +01:00
Simon Ser
34b2ebf940
all: use variables for xml.Name values
2020-01-17 17:09:23 +01:00
Simon Ser
883dafaf41
internal: fix Error element definition
2020-01-17 14:47:10 +01:00
Simon Ser
7cb302246b
internal: add NewPropfindResponse helper
2020-01-17 14:40:29 +01:00
Simon Ser
4c4624e225
webdav: add support for allprop and propname in PROPFIND
2020-01-15 23:03:09 +01:00
Simon Ser
ae0541654a
inetrnal: rename Date to Time, make it a Text{Marshaler,Unmarshaler}
2020-01-15 19:32:59 +01:00
Simon Ser
3d37e49ca0
internal: make Status a Text{Marshaler,Unmarshaler}
2020-01-15 19:23:09 +01:00
Simon Ser
040c38f1b6
webdav: add support for more props
2020-01-15 19:08:38 +01:00
Simon Ser
ae93da82c1
webdav: add minimal server implementation
2020-01-15 18:21:27 +01:00
Simon Ser
5fe39bbc13
internal: remove xml.Name arg from Response.DecodeProp
...
The xml.Name is now retrieved from the interface{} argument via
reflection.
2020-01-15 11:44:27 +01:00
Simon Ser
25ab0b2076
internal: add EncodeProp
...
This allows to simplify carddav.QueryAddressBook's request marshaling.
2020-01-15 11:17:38 +01:00
Simon Ser
9dfabd89c8
carddav: add Client.FindAddressBooks
2020-01-14 23:13:23 +01:00
Simon Ser
a4580254eb
internal: check response status in Response.DecodeProp
2020-01-14 21:35:24 +01:00
Simon Ser
388377dfca
internal: remove unnecessary namespaces in structs
2020-01-14 21:32:43 +01:00
Simon Ser
5748fec4d0
internal: add helpers to parse multistatus
2020-01-14 21:29:54 +01:00
Simon Ser
93f95c7fd2
internal: add <responsedescription>
2020-01-14 20:27:08 +01:00
Simon Ser
87a88d6723
Generate PROPFIND request body
...
Instead of a hardcoded string, generate it with encoding/xml.
2020-01-14 20:00:54 +01:00
Simon Ser
3beb076950
webdav: add very basic Client
2020-01-14 18:51:17 +01:00