Commit 4782b197 by Qiang Xue

Better handling of sending response content.

parent 3e18479d
...@@ -319,8 +319,14 @@ class Response extends \yii\base\Response ...@@ -319,8 +319,14 @@ class Response extends \yii\base\Response
*/ */
protected function sendContent() protected function sendContent()
{ {
if (is_array($this->content)) {
echo 'array()';
} elseif (is_object($this->content)) {
echo method_exists($this->content, '__toString') ? (string)$this->content : get_class($this->content);
} else {
echo $this->content; echo $this->content;
} }
}
/** /**
* Sends a file to the browser. * Sends a file to the browser.
...@@ -723,13 +729,13 @@ class Response extends \yii\base\Response ...@@ -723,13 +729,13 @@ class Response extends \yii\base\Response
} }
switch ($this->format) { switch ($this->format) {
case self::FORMAT_RAW:
$this->content = $this->data;
break;
case self::FORMAT_HTML: case self::FORMAT_HTML:
$this->getHeaders()->setDefault('Content-Type', 'text/html; charset=' . $this->charset); $this->getHeaders()->setDefault('Content-Type', 'text/html; charset=' . $this->charset);
$this->content = $this->data; $this->content = $this->data;
break; break;
case self::FORMAT_RAW:
$this->content = $this->data;
break;
case self::FORMAT_JSON: case self::FORMAT_JSON:
$this->getHeaders()->set('Content-Type', 'application/json'); $this->getHeaders()->set('Content-Type', 'application/json');
$this->content = Json::encode($this->data); $this->content = Json::encode($this->data);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment