emersion / go-webdav

A Go library for WebDAV, CalDAV and CardDAV
MIT License
314 stars 66 forks source link

Move `internal`to `pkg` #156

Open DeepDiver1975 opened 4 months ago

DeepDiver1975 commented 4 months ago

Let's say someone wants to implement an own webdav based server and follow the daldav, carddav or webdav pattern in this package.

Currently this is not possible because of the code living in internal.

I suggest to move the code to pkgto allow more reuse of the code base.

@emersion what do you think? THX

emersion commented 4 months ago

I'm not sure I understand the use-case here. Why not use the backend interfaces already exposed by go-webdav?

DeepDiver1975 commented 4 months ago

Let's say I want to implement by own WebDAV server for files and folders but with my own customer properties on the resources.

DeepDiver1975 commented 4 months ago

or some webdav protocol based endpoints - e.g. what ownCloud and nextcloud do: https://doc.owncloud.com/server/next/developer_manual/webdav_api/comments.html etc https://docs.nextcloud.com/server/latest/developer_manual/client_apis/WebDAV/chunking.html etc

emersion commented 4 months ago

Hm, I see, thanks for the links, very helpful.

Unfortunately I'm not sure I'd like to expose this as a public API. It would increase the API surface quite a bit, maintaining just the existing API surface is already a lot of work. Also, non-standard properties are not something I want to help spread in general…