Merge pull request #32759 from nextcloud/backport/stable23/upload-speed

[stable23] Make X-HAS-{MD5/SHA256} opt-in
This commit is contained in:
Carl Schwan 2022-06-10 11:34:54 +02:00 committed by GitHub
commit dd809633d9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -212,15 +212,26 @@ class File extends Node implements IFile {
$data = $tmpData;
}
$data = HashWrapper::wrap($data, 'md5', function ($hash) {
$this->header('X-Hash-MD5: ' . $hash);
});
$data = HashWrapper::wrap($data, 'sha1', function ($hash) {
$this->header('X-Hash-SHA1: ' . $hash);
});
$data = HashWrapper::wrap($data, 'sha256', function ($hash) {
$this->header('X-Hash-SHA256: ' . $hash);
});
if ($this->request->getHeader('X-HASH') !== '') {
$hash = $this->request->getHeader('X-HASH');
if ($hash === 'all' || $hash === 'md5') {
$data = HashWrapper::wrap($data, 'md5', function ($hash) {
$this->header('X-Hash-MD5: ' . $hash);
});
}
if ($hash === 'all' || $hash === 'sha1') {
$data = HashWrapper::wrap($data, 'sha1', function ($hash) {
$this->header('X-Hash-SHA1: ' . $hash);
});
}
if ($hash === 'all' || $hash === 'sha256') {
$data = HashWrapper::wrap($data, 'sha256', function ($hash) {
$this->header('X-Hash-SHA256: ' . $hash);
});
}
}
if ($partStorage->instanceOfStorage(Storage\IWriteStreamStorage::class)) {
$isEOF = false;