From 1571dc3e510b156669346d525c3325b777c2574d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Pablo=20Villaf=C3=A1=C3=B1ez?= Date: Tue, 31 Oct 2017 12:56:16 +0100 Subject: [PATCH] Disable nginx buffering for file downloads Fix unittest --- apps/dav/lib/Connector/Sabre/FilesPlugin.php | 3 +++ apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/dav/lib/Connector/Sabre/FilesPlugin.php b/apps/dav/lib/Connector/Sabre/FilesPlugin.php index 082ebeacd344..9f57b7d9c2c9 100644 --- a/apps/dav/lib/Connector/Sabre/FilesPlugin.php +++ b/apps/dav/lib/Connector/Sabre/FilesPlugin.php @@ -251,6 +251,9 @@ function httpGet(RequestInterface $request, ResponseInterface $response) { if ($checksum !== null && $checksum !== '') { $response->addHeader('OC-Checksum', $checksum); } + // disable nginx buffering so big downloads through ownCloud won't + // cause memory problems in the nginx process. + $response->addHeader('X-Accel-Buffering', 'no'); } } diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php index b38512e0bf4b..df2327d7b9b5 100644 --- a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php @@ -541,9 +541,12 @@ public function testDownloadHeaders($isClumsyAgent, $contentDispositionHeader) { ->will($this->returnValue($isClumsyAgent)); $response - ->expects($this->once()) + ->expects($this->exactly(2)) ->method('addHeader') - ->with('Content-Disposition', $contentDispositionHeader); + ->withConsecutive( + ['Content-Disposition', $contentDispositionHeader], + ['X-Accel-Buffering', 'no'] + ); $this->plugin->httpGet($request, $response); }