Improve service discovery, implement SD for CalDav#42
Improve service discovery, implement SD for CalDav#42dpeukert wants to merge 1 commit intoemersion:masterfrom
Conversation
|
Test failure seems unrelated. |
| serviceUrl := u.String() | ||
|
|
||
| // Check if the resulting URL hosts a service | ||
| req, err := http.NewRequest(http.MethodOptions, serviceUrl, nil) |
There was a problem hiding this comment.
RFC 6764 section 6 mandates that a PROPFIND request should be made with the username/password set.
Alps has a different requirement: it needs to sanity check the URLs on startup (without any username/password).
To follow the RFC, we could:
- Take an
webdav.HTTPClientto handle auth - Change OPTIONS to a PROPFIND request with a
DAV:current-user-principalprop - Return the
DAV:current-user-principalprop
There was a problem hiding this comment.
To accomodate for Alps, we could have an intermediate DiscoverContextURL function that follows the RFC up to and not including the PROPFIND request.
emersion
left a comment
There was a problem hiding this comment.
Thanks for working on this! I left a few comments.
|
Sorry about the delay on this, I'll try to get the remaining change sorted this weekend. |
|
7e07625 adds discovery for CalDAV. What's still missing is the TXT DNS record stuff. |
See #30
This is my first time writing Go code, so I apologise in advance for any beginner mistakes I made in this 😃.