/** * @param mixed $data * * @return mixed */ protected function setResponseBody($data) { $isSuccess = $this->response->status() >= 200 && $this->response->status() < 300; //$this->setDebug('profiler', Profiler::application()); if (Helpers_Arr::count($this->debugRequestParams)) { $this->setDebugData(['requestParams' => $this->requestData($this->debugRequestParams)]); } if ($isSuccess) { $this->debugToJSON = FALSE; } if ($this->debugToJSON === TRUE && Helpers_Arr::count($this->_response_debug)) { $data = Helpers_Arr::merge($data, ['debug' => $this->_response_debug]); } if ($isSuccess && (!Helpers_Arr::count($data) || $this->response->status() == 204)) { $this->response->body(NULL); $this->response->status(204); } else { $this->response->body(json_encode($data, JSON_UNESCAPED_UNICODE)); } return $data; }