add a custom header clients can use to skip a n additional propset request

This commit is contained in:
Jörn Friedrich Dreyer 2013-02-10 11:05:43 +01:00
parent 04146f2059
commit d2332f60f3
2 changed files with 18 additions and 0 deletions

View file

@ -52,6 +52,12 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements Sabre_D
// rename to correct path // rename to correct path
\OC\Files\Filesystem::rename($partpath, $this->path); \OC\Files\Filesystem::rename($partpath, $this->path);
//allow sync clients to send the mtime along in a header
$mtime = OC_Request::hasModificationTime();
if ($mtime !== false) {
\OC\Files\Filesystem::touch($this->path,$mtime);
}
return OC_Connector_Sabre_Node::getETagPropertyForPath($this->path); return OC_Connector_Sabre_Node::getETagPropertyForPath($this->path);
} }

View file

@ -149,4 +149,16 @@ class OC_Request {
return 'gzip'; return 'gzip';
return false; return false;
} }
/**
* @brief Check if the requester sent along an mtime
* @returns false or an mtime
*/
static public function hasModificationTime () {
if (isset($_SERVER['HTTP_X_OC_MTIME'])) {
return $_SERVER['HTTP_X_OC_MTIME'];
} else {
return false;
}
}
} }