mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-22 01:30:23 +08:00
Fixes #1844: Calling Response::sendFile() would cause sending the response twice
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user