diff options
author | Bart Visscher <bartv@thisnet.nl> | 2012-07-20 23:52:47 +0200 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2012-07-21 00:13:30 +0200 |
commit | cdd9ffc8a5dba2d4c3d83d77fc7806fd017a6b97 (patch) | |
tree | 2c3fcc226540001e0df178fdb7e3b0e029c814e5 /lib/connector/sabre/directory.php | |
parent | 53bdb049cb3d2b005e5f6d17117f878b74aa0194 (diff) | |
download | nextcloud-server-cdd9ffc8a5dba2d4c3d83d77fc7806fd017a6b97.tar.gz nextcloud-server-cdd9ffc8a5dba2d4c3d83d77fc7806fd017a6b97.zip |
Add ETag support to the Sabre file connector.
This is based on the md5 of the file, can be changed later
Diffstat (limited to 'lib/connector/sabre/directory.php')
-rw-r--r-- | lib/connector/sabre/directory.php | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index f3f6541a8d4..0842fc4fc65 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -26,17 +26,33 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa /** * Creates a new file in the directory * - * data is a readable stream resource + * Data will either be supplied as a stream resource, or in certain cases + * as a string. Keep in mind that you may have to support either. + * + * After succesful creation of the file, you may choose to return the ETag + * of the new file here. + * + * The returned ETag must be surrounded by double-quotes (The quotes should + * be part of the actual string). + * + * If you cannot accurately determine the ETag, you should not return it. + * If you don't store the file exactly as-is (you're transforming it + * somehow) you should also not return an ETag. + * + * This means that if a subsequent GET to this new file does not exactly + * return the same contents of what was submitted here, you are strongly + * recommended to omit the ETag. * * @param string $name Name of the file - * @param resource $data Initial payload - * @return void + * @param resource|string $data Initial payload + * @return null|string */ public function createFile($name, $data = null) { $newPath = $this->path . '/' . $name; OC_Filesystem::file_put_contents($newPath,$data); + return OC_Connector_Sabre_Node::getETagPropertyForFile($newPath); } /** |