Commit Graph

45 Commits

Author SHA1 Message Date
6da8290c04
Allow for internal time data debug. 2024-09-26 22:16:01 +01:00
266c39c655
Add CurrentUserPrivilegeSet to find carddav 2024-09-26 20:53:10 +01:00
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