Making POST (and PUT) requests

  For the life of me, I can't figure out how to use the 3.0 version of
the Library to POST (or PUT) documents. I can see the kludgey way that
the proxy code in the DAEMON does it (by appending the POST data to a
special set of HTProxyHeaders that the Library treats as a special
case) but how does an ordinary program attach the POST data to a
request? I see some skeletal support (i.e. the postStream field in the
HTProtocol structure and a reference in the doumentation to "Functions
for posting a document") but the meat seems to be missing.

  Is the stuff really there but I haven't found it? Is it there in 3.1?
Is it there in 4.0?