mholt / caddy-webdav

WebDAV handler module for Caddy
Apache License 2.0
198 stars 22 forks source link

LOCK/UNLOCK and other Webdav method support #38

Open arichiardi opened 11 months ago

arichiardi commented 11 months 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 11 months ago

Sometimes, LOCK/UNLOCK can be real nightmare

mholt commented 11 months 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 11 months 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 11 months ago

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

I wonder why the lib differs there...

mholt commented 11 months ago

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

Glad that page answered your question!