adding OC-ETag header

remotes/origin/fix-10825
Thomas Müller 12 years ago
parent ed2424c382
commit 96a931929e
  1. 15
      lib/private/connector/sabre/file.php
  2. 4
      lib/private/connector/sabre/filesplugin.php
  3. 16
      lib/private/connector/sabre/node.php

@ -180,21 +180,6 @@ class OC_Connector_Sabre_File extends OC_Connector_Sabre_Node implements \Sabre\
return $this->info->getSize(); return $this->info->getSize();
} }
/**
* Returns the ETag for a file
*
* An ETag is a unique identifier representing the current version of the
* file. If the file changes, the ETag MUST change. The ETag is an
* arbitrary string, but MUST be surrounded by double-quotes.
*
* Return null if the ETag can not effectively be determined
*
* @return mixed
*/
public function getETag() {
return '"' . $this->info->getEtag() . '"';
}
/** /**
* Returns the mime-type for a file * Returns the mime-type for a file
* *

@ -107,6 +107,10 @@ class OC_Connector_Sabre_FilesPlugin extends \Sabre\DAV\ServerPlugin
if (!is_null($fileId)) { if (!is_null($fileId)) {
$this->server->httpResponse->setHeader('OC-FileId', $fileId); $this->server->httpResponse->setHeader('OC-FileId', $fileId);
} }
$eTag = $node->getETag();
if (!is_null($eTag)) {
$this->server->httpResponse->setHeader('OC-ETag', $eTag);
}
} }
} }

@ -270,4 +270,20 @@ abstract class OC_Connector_Sabre_Node implements \Sabre\DAV\INode, \Sabre\DAV\I
} }
return $p; return $p;
} }
/**
* Returns the ETag for a file
*
* An ETag is a unique identifier representing the current version of the
* file. If the file changes, the ETag MUST change. The ETag is an
* arbitrary string, but MUST be surrounded by double-quotes.
*
* Return null if the ETag can not effectively be determined
*
* @return mixed
*/
public function getETag() {
return '"' . $this->info->getEtag() . '"';
}
} }

Loading…
Cancel
Save