6 declare(strict_types=1);
32 private $inputParamsResolver;
37 private $serviceOutputProcessor;
42 private $fieldsFilter;
47 private $deploymentConfig;
52 private $objectManager;
73 $this->inputParamsResolver = $inputParamsResolver;
74 $this->serviceOutputProcessor = $serviceOutputProcessor;
75 $this->fieldsFilter = $fieldsFilter;
85 $inputParams = $this->inputParamsResolver->resolve();
87 $route = $this->inputParamsResolver->getRoute();
88 $serviceMethodName = $route->getServiceMethod();
89 $serviceClassName = $route->getServiceClass();
90 $service = $this->objectManager->get($serviceClassName);
95 $outputData = call_user_func_array([
$service, $serviceMethodName], $inputParams);
96 $outputData = $this->serviceOutputProcessor->process(
101 if (
$request->getParam(FieldsFilter::FILTER_PARAMETER) && is_array($outputData)) {
102 $outputData = $this->fieldsFilter->filter($outputData);
106 $this->response->setHeader(
'X-Frame-Options', $header);
108 $this->response->prepareResponse($outputData);
116 if (preg_match(self::PROCESSOR_PATH,
$request->getPathInfo()) === 1) {
__construct(RestResponse $response, InputParamsResolver $inputParamsResolver, ServiceOutputProcessor $serviceOutputProcessor, FieldsFilter $fieldsFilter, DeploymentConfig $deploymentConfig, ObjectManagerInterface $objectManager)
const CONFIG_PATH_X_FRAME_OPT
process(\Magento\Framework\Webapi\Rest\Request $request)
canProcess(\Magento\Framework\Webapi\Rest\Request $request)