Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/main/lib/service/microservice/filter/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/main/lib/service/microservice/filter/parametersunpacking.php

<?php

namespace Bitrix\Main\Service\MicroService\Filter;

use Bitrix\Main\Context;
use Bitrix\Main\Event;
use Bitrix\Main\Web\Json;

class ParametersUnpacking extends \Bitrix\Main\Engine\ActionFilter\Base
{
	public function onBeforeAction(Event $event)
	{
		$request = Context::getCurrent()->getRequest();
		$packedParameters = $request->get("serializedParameters");
		if(is_string($packedParameters))
		{
			$decodedParameters = gzdecode(base64_decode($packedParameters));

			if(is_string($decodedParameters))
			{
				$unpackedParameters = Json::decode($decodedParameters);
				if(is_array($unpackedParameters))
				{
					/** @var \Bitrix\Main\Engine\ActionFilter\Base $this */
					$this->getAction()->getController()->setSourceParametersList([
						$unpackedParameters
					]);
				}
			}
		}
	}
}