$rocket]); $this->formatRequestAndParams($rocket); /* @phpstan-ignore-next-line */ verify_wechat_sign($rocket->getDestinationOrigin(), $rocket->getParams()); $body = json_decode((string) $rocket->getDestination()->getBody(), true); $rocket->setDirection(NoHttpRequestDirection::class)->setPayload(new Collection($body)); $body['resource'] = decrypt_wechat_resource($body['resource'] ?? [], $rocket->getParams()); $rocket->setDestination(new Collection($body)); Logger::info('[wechat][CallbackPlugin] 插件装载完毕', ['rocket' => $rocket]); return $next($rocket); } /** * @throws InvalidParamsException */ protected function formatRequestAndParams(Rocket $rocket): void { $request = $rocket->getParams()['request'] ?? null; if (!$request instanceof ServerRequestInterface) { throw new InvalidParamsException(Exception::REQUEST_NULL_ERROR); } $rocket->setDestination(clone $request) ->setDestinationOrigin($request) ->setParams($rocket->getParams()['params'] ?? []) ; } }