智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

33 lines
888 B

<?php
declare(strict_types=1);
namespace Yansongda\Artful\Plugin;
use Closure;
use Yansongda\Artful\Contract\PluginInterface;
use Yansongda\Artful\Exception\InvalidParamsException;
use Yansongda\Artful\Logger;
use Yansongda\Artful\Rocket;
use function Yansongda\Artful\filter_params;
use function Yansongda\Artful\get_packer;
class AddPayloadBodyPlugin implements PluginInterface
{
/**
* @throws InvalidParamsException
*/
public function assembly(Rocket $rocket, Closure $next): Rocket
{
Logger::debug('[AddPayloadBodyPlugin] 插件开始装载', ['rocket' => $rocket]);
$packer = get_packer($rocket->getPacker());
$rocket->mergePayload(['_body' => $packer->pack(filter_params($rocket->getPayload()))]);
Logger::info('[AddPayloadBodyPlugin] 插件装载完毕', ['rocket' => $rocket]);
return $next($rocket);
}
}