Commit Graph

12 Commits

Author SHA1 Message Date
Conrad Hoffmann
4765adc1a3 Use NewHTTPError to return better errors
That function is merged upstream, but the current version still depends
on some stuff not yet merged into upstream go-webdav.
2022-05-06 09:16:17 +02:00
Conrad Hoffmann
001917295d Add CalDAV support, refactor
The filesystem storage backend now implements the required functions to
act as a basic CalDAV server. Some refactoring was done based on the
go-webdav development: introduce a UserPrincipalBackend, a new function
to serve the user principal URL, and more. See this PR for lots of
details: https://github.com/emersion/go-webdav/pull/62

Also adds a simple facility for debug output.
2022-05-03 16:06:47 +02:00
Conrad Hoffmann
0f2356f42d Register COPY & MOVE methods with chi 2022-02-24 13:39:03 +01:00
Conrad Hoffmann
edd01ff7a3 Make storage backend configurable via -storage.url
Same mechanism as for configuring the auth backend.
2022-02-23 21:09:20 +01:00
Conrad Hoffmann
d917938a29 Start simple filesystem storage backend 2022-02-23 21:09:20 +01:00
Conrad Hoffmann
6051fec4c4 Register WebDAV-specific HTTP methods with chi
Otherwise the router will return 405 before the request makes it to our
middleware.
2022-02-22 18:28:37 +01:00
Conrad Hoffmann
071ee7c729 Implement configurable auth providers
New providers need to "register" their URL scheme of choice in
auth.NewFromURL().

Implements: https://todo.sr.ht/~sircmpwn/tokidoki/1
2022-02-22 11:44:37 +01:00
Simon Ser
5f8e94c4a1 Fix chi routing to CardDAV handler
We could probably just stick to net/http here...
2022-02-21 11:47:58 +01:00
Simon Ser
97f86226d6 Rig up CardDAV backend to HTTP server
References: https://todo.sr.ht/~sircmpwn/tokidoki/3
2022-02-21 11:39:57 +01:00
Simon Ser
13008e0d96 go fmt 2022-02-21 11:11:27 +01:00
Drew DeVault
5a641ceca1 Implement IMAP auth provider 2022-02-21 10:55:02 +01:00
Drew DeVault
96ef5f9b2a Initial server skeleton 2022-02-21 10:10:25 +01:00