/** * Handles a POST request * @param DAV_Resource $resource * @return void * @throws DAV_Status */ public function handle($resource) { $resource->assertLock(); $headers = array(); try { ob_start(); $entity = $resource->method_POST($headers); } catch (DAV_Status $e) { ob_end_clean(); throw $e; } if ($length = ob_get_length()) { $headers['Content-Length'] = $length; DAV::header($headers); ob_end_flush(); return; } else { ob_end_clean(); } if (is_string($entity)) { $headers['Content-Length'] = strlen($entity); DAV::header($headers); echo $entity; return; } DAV::header($headers); }