Encrypt REST Response Stream

Hi,

I want to encrypt the response stream of a REST-Request. I fetch the data from the db and return it as xml (actionAll). This works fine. Then I added an eventHandler that is executed before the response is sent to the client (beforeAction). This works too. My problem is, that the $response within the encryptResponse-method does not contain any data, when the eventHandler calls it. The variables content, data and stream are always null within the response-object.

Thanks for any help!




<?php


namespace app\controllers;


use Yii;

use app\models\Order;

use yii\filters\auth\HttpBasicAuth;

use yii\web\Response;

use app\models\User;


class OrderController extends \yii\rest\Controller

{

        /**

	 * disable session for REST-Request

	 * no loginUrl required	

	 */

	public function init(){

		parent::init();

		\Yii::$app->user->enableSession = false;

		\Yii::$app->user->loginUrl = null;

	}

	

	/**

	 * HttpBasicAuth for authentication	

	 */

	public function behaviors(){

		$behaviors = parent::behaviors();

		$behaviors['authenticator'] = [

		'class' => HttpBasicAuth::className(),

		'auth'  => function ($username, $password) {

			if($username==\Yii::$app->params['HttpBasicAuth']['username'] && $password==\Yii::$app->params['HttpBasicAuth']['password']){

				return new User();

			}else{

				return null;

			}

		}];

		return $behaviors;

	}

	

	/**

	 * set response-format to xml

         * fetch data from db

	 * 	

	 */

	public function actionAll(){

		\Yii::$app->response->format = \yii\web\Response::FORMAT_XML;

		$models = Order::find()->all();	

		return $models;

	}

	

	/**

	 * hook into action and add event handler	

	 */

 	public function beforeAction($action){ 		

		$response = Yii::$app->getResponse();

 		$response->on(Response::EVENT_BEFORE_SEND, [$this, 'encryptResponse']);

 	}

	

	/**

	 * callback for event-handler	

	 */

 	public function encryptResponse(){

		$response = Yii::$app->getResponse();

		var_dump($response);

 	}	

}