public function parseHttpRequest(ServerHttpRequest $httpRequest, array $attributes) : RequestInterface { $rpHelper = new HttpRequestParserHelper($httpRequest); $filter = $rpHelper->getFilter(); $this->helper->addPathFilter($filter, 'path'); $this->helper->addFileNameFilter($filter, 'filename'); $validator = $rpHelper->getValidator(); $this->helper->addFullPathValidator($validator, 'path'); $this->helper->addFileNameValidator($validator, 'filename'); $data = ['path' => $attributes['path'], 'filename' => $httpRequest->getParsedBody()['filename']]; return new Request(self::MESSAGE, $rpHelper->filterAndValidate($data), $httpRequest); }