Fixes #1844: Calling Response::sendFile() would cause sending the response twice

This commit is contained in:
Qiang Xue
2014-01-08 20:57:36 -05:00
parent 4609a94dbf
commit 50703f8a82
2 changed files with 11 additions and 0 deletions

View File

@@ -135,6 +135,10 @@ class Response extends \yii\base\Response
* or '1.1' if that is not available.
*/
public $version;
/**
* @var boolean whether the response has been sent. If this is true, calling [[send()]] will do nothing.
*/
public $isSent = false;
/**
* @var array list of HTTP status codes and the corresponding texts
*/
@@ -281,6 +285,11 @@ class Response extends \yii\base\Response
*/
public function send()
{
if ($this->isSent) {
return;
} else {
$this->isSent = true;
}
$this->trigger(self::EVENT_BEFORE_SEND);
$this->prepare();
$this->trigger(self::EVENT_AFTER_PREPARE);
@@ -300,6 +309,7 @@ class Response extends \yii\base\Response
$this->statusText = 'OK';
$this->data = null;
$this->content = null;
$this->isSent = false;
}
/**