mholt / caddy-webdav

WebDAV handler module for Caddy
Apache License 2.0
228 stars 24 forks source link

LOCK/UNLOCK and other Webdav method support #38

Open arichiardi opened 1 year ago

arichiardi commented 1 year ago

Hi there, really liking caddy and learning a bunch, while trying to contribute a bit! To the forum.

I was wondering if you see this plugin evolving so that it can support class 1 or class 2 WebDAV.

My current need does not involve anything fancy but it would be nice to stay with caddy if the need for a lock, for instance, arises.

Thanks for your effort!

ArcCal commented 1 year ago

Sometimes, LOCK/UNLOCK can be real nightmare

mholt commented 1 year ago

I don't actually know too much about webdav. :sweat_smile: I just made this to do a very simple thing some time ago.

If you'd like it to do more, I'm happy to work on this to fulfill the requirements of sufficiently-tiered sponsors! Or anyone else is welcome to pick up development for advanced features/functionality.

All I know about our particular implementation is from the library godocs that we use: https://pkg.go.dev/golang.org/x/net/webdav

It does look like there is an in-memory implementation of a lock system: https://pkg.go.dev/golang.org/x/net/webdav#NewMemLS

arichiardi commented 1 year ago

Ah wait a sec that is already pretty comprehensive!

It even passes (I guess) the litmus test according to this.

That's a relief and I guess I can actually close this issue, apologise for the noise and thank you for the links!

arichiardi commented 1 year ago

Just out of curiosity, are you planning to backport this fix upstream?

I wonder why the lib differs there...

mholt commented 1 year ago

That was contributed by @mcieno -- I'm not sure I know enough about that either :sweat_smile:

Glad that page answered your question!