Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorThomas Steur <thomas.steur@googlemail.com>2014-10-15 03:30:45 +0400
committerThomas Steur <thomas.steur@googlemail.com>2014-10-15 03:30:45 +0400
commita06612e6feb3c45406b5469d1aaae0aea2884933 (patch)
tree693f8e87b89ddca65178336099f49c1f4f19a125 /core
parent4b933af4d698c7811ab308d7cb2fc01a6d43fb43 (diff)
fixes #6384 do not send headers in case total values are calculated
Diffstat (limited to 'core')
-rw-r--r--core/API/DataTableManipulator.php1
-rw-r--r--core/API/ResponseBuilder.php18
2 files changed, 17 insertions, 2 deletions
diff --git a/core/API/DataTableManipulator.php b/core/API/DataTableManipulator.php
index 30513daaf3..6d744e50df 100644
--- a/core/API/DataTableManipulator.php
+++ b/core/API/DataTableManipulator.php
@@ -180,6 +180,7 @@ abstract class DataTableManipulator
$dataTable = Proxy::getInstance()->call($class, $method, $request);
$response = new ResponseBuilder($format = 'original', $request);
+ $response->disableSendHeader();
$dataTable = $response->getResponse($dataTable);
if (Common::getRequestVar('disable_queued_filters', 0, 'int', $request) == 0) {
diff --git a/core/API/ResponseBuilder.php b/core/API/ResponseBuilder.php
index 401dccf96c..5b00c01a13 100644
--- a/core/API/ResponseBuilder.php
+++ b/core/API/ResponseBuilder.php
@@ -26,6 +26,7 @@ class ResponseBuilder
private $outputFormat = null;
private $apiRenderer = null;
private $request = null;
+ private $sendHeader = true;
private $apiModule = false;
private $apiMethod = false;
@@ -41,6 +42,11 @@ class ResponseBuilder
$this->apiRenderer = ApiRenderer::factory($outputFormat, $request);
}
+ public function disableSendHeader()
+ {
+ $this->sendHeader = false;
+ }
+
/**
* This method processes the data resulting from the API call.
*
@@ -73,7 +79,7 @@ class ResponseBuilder
$this->apiModule = $apiModule;
$this->apiMethod = $apiMethod;
- $this->apiRenderer->sendHeader();
+ $this->sendHeaderIfEnabled();
// when null or void is returned from the api call, we handle it as a successful operation
if (!isset($value)) {
@@ -123,7 +129,8 @@ class ResponseBuilder
$e = $this->decorateExceptionWithDebugTrace($e);
$message = $this->formatExceptionMessage($e);
- $this->apiRenderer->sendHeader();
+ $this->sendHeaderIfEnabled();
+
return $this->apiRenderer->renderException($message, $e);
}
@@ -282,4 +289,11 @@ class ResponseBuilder
$label = Common::unsanitizeInputValues($label);
return $label;
}
+
+ private function sendHeaderIfEnabled()
+ {
+ if ($this->sendHeader) {
+ $this->apiRenderer->sendHeader();
+ }
+ }
}