@@ -59,6 +59,11 @@ class AsyncWebDAV(AsyncClient):
5959 async def download (self , path , ** kwargs ):
6060 return await super ().get (path , ** kwargs )
6161
62+ async def propfind (self , path ):
63+ request = async_requests .PropfindRequest (self ._builder (path ))
64+ response = await self .async_request (request )
65+ return await response .dav ()
66+
6267 async def mkcol (self , path ):
6368 request = async_requests .MkcolRequest (self ._builder (path ))
6469 response = await self .async_request (request )
@@ -175,6 +180,9 @@ async def json(self):
175180 async def xml (self ):
176181 return Deserializers .XML (await self ._response .read ())
177182
183+ async def dav (self ):
184+ return Deserializers .DAV (await self ._response .read ())
185+
178186 @async_requests .decorate_stream_error
179187 async def read (self , n = - 1 ):
180188 return await self ._response .content .read (n )
@@ -251,6 +259,11 @@ class WebDAV(Client):
251259 def download (self , path , ** kwargs ):
252260 return super ().handle (path , ** kwargs )
253261
262+ def propfind (self , path ):
263+ request = async_requests .PropfindRequest (self ._builder (path ))
264+ response = self .request (request )
265+ return response .dav ()
266+
254267 def mkcol (self , path ):
255268 request = async_requests .MkcolRequest (self ._builder (path ))
256269 response = self .request (request )
@@ -403,6 +416,9 @@ def json(self): # pylint: disable=invalid-overridden-method
403416 def xml (self ): # pylint: disable=invalid-overridden-method
404417 return execute (super ().xml )
405418
419+ def dav (self ): # pylint: disable=invalid-overridden-method
420+ return execute (super ().dav )
421+
406422 @staticmethod
407423 def new ():
408424 async def new_response (response ):
0 commit comments