How to query Metadata from a WebDAV server

I am trying to create an iPhone App that will talk to a WebDAV Server. I have no idea on this.
Specifically in reference to:

  1. How to upload a file to the WebDAV Server
  2. How to download a file from the WebDAV server
  3. How to retrieve / Add MetaData on the WebDAV server
  4. How to enumerate directories & files on a WebDAV server

The protocol is defined in RFC 2616 (HTTP/1.1) and RFC 4918 (WebDAV):

  1. PUT
  2. GET
  3. PROPFIND/PROPPATCH
  4. PROPFIND (Depth:1)