Skip to content
Snippets Groups Projects
Commit 30ee8b6f authored by Thomas Müller's avatar Thomas Müller
Browse files

adding OC-ETag header

parent 2370af62
No related branches found
No related tags found
No related merge requests found
......@@ -247,8 +247,7 @@ class File extends \OC\Connector\Sabre\Node implements \Sabre\DAV\IFile {
* @throws \Sabre\DAV\Exception\NotImplemented
* @throws \Sabre\DAV\Exception\ServiceUnavailable
*/
private function createFileChunked($data)
{
private function createFileChunked($data) {
list($path, $name) = \Sabre\HTTP\URLUtil::splitPath($this->path);
$info = \OC_FileChunking::decodeName($name);
......@@ -305,6 +304,8 @@ class File extends \OC\Connector\Sabre\Node implements \Sabre\DAV\IFile {
}
}
// mark chunking complete
$_SERVER['X-CHUNKING_COMPLETE'] = true;
$info = $this->fileView->getFileInfo($targetPath);
return $info->getEtag();
} catch (\OCP\Files\StorageNotAvailableException $e) {
......
......@@ -174,7 +174,24 @@ class FilesPlugin extends \Sabre\DAV\ServerPlugin {
if (!is_null($fileId)) {
$this->server->httpResponse->setHeader('OC-FileId', $fileId);
}
$eTag = $this->getETag($node);
if (!is_null($eTag)) {
$this->server->httpResponse->setHeader('OC-ETag', $eTag);
}
}
}
/**
* @param \OC\Connector\Sabre\Node $node
*/
private function getETag($node) {
if (isset($_SERVER['HTTP_OC_CHUNKED'])) {
if (isset($_SERVER['X-CHUNKING_COMPLETE'])) {
return $node->getETag();
}
return null;
}
return $node->getETag();
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment