From 0d805314f1db38ae72f9b5978f6ac6a35bdfeec2 Mon Sep 17 00:00:00 2001 From: Rinsvent Date: Mon, 16 Aug 2021 23:39:52 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9F=D1=80=D0=BE=D0=B8=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=B3=D1=80=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BB=20=D1=81=D0=B2?= =?UTF-8?q?=D0=B5=D0=B6=D1=83=D1=8E=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=B1=D0=B8=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- composer.lock | 12 +++++------ src/EventListener/RequestListener.php | 30 +++++++++++++++------------ 2 files changed, 23 insertions(+), 19 deletions(-) diff --git a/composer.lock b/composer.lock index 23eaaf6..58cc7be 100644 --- a/composer.lock +++ b/composer.lock @@ -346,16 +346,16 @@ }, { "name": "rinsvent/data2dto", - "version": "v0.0.4", + "version": "v0.0.6", "source": { "type": "git", "url": "https://github.com/Rinsvent/data2dto.git", - "reference": "10f1937434ff8e38b21ad54963488e40a4ad2a7d" + "reference": "44ef3f1143fe812578e0231ac5c77d837902d0f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Rinsvent/data2dto/zipball/10f1937434ff8e38b21ad54963488e40a4ad2a7d", - "reference": "10f1937434ff8e38b21ad54963488e40a4ad2a7d", + "url": "https://api.github.com/repos/Rinsvent/data2dto/zipball/44ef3f1143fe812578e0231ac5c77d837902d0f5", + "reference": "44ef3f1143fe812578e0231ac5c77d837902d0f5", "shasum": "" }, "require": { @@ -385,9 +385,9 @@ "description": "Convert data to dto object", "support": { "issues": "https://github.com/Rinsvent/data2dto/issues", - "source": "https://github.com/Rinsvent/data2dto/tree/v0.0.4" + "source": "https://github.com/Rinsvent/data2dto/tree/v0.0.6" }, - "time": "2021-08-15T08:40:09+00:00" + "time": "2021-08-16T15:56:23+00:00" }, { "name": "symfony/cache", diff --git a/src/EventListener/RequestListener.php b/src/EventListener/RequestListener.php index 1e8f345..0b379e9 100644 --- a/src/EventListener/RequestListener.php +++ b/src/EventListener/RequestListener.php @@ -12,7 +12,6 @@ use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpKernel\Event\RequestEvent; use Symfony\Component\Validator\Validation; -// todo базовая заготовка. Требуется рефакторинг class RequestListener { public function onKernelRequest(RequestEvent $event) @@ -39,9 +38,7 @@ class RequestListener $request->get('_route'), $request->getContent(), $request->query->all(), - $request->request->all(), - $request->headers->all(), - $request->server->all(), + $request->request->all() ); $errorCollection = $this->validate($requestDTOInstance); @@ -84,12 +81,10 @@ class RequestListener protected function grabRequestDTO( RequestDTO $requestDTO, - string $routeName, - string $content, - array $queryParameters = [], - array $parameters = [], - array $headers = [], - array $server = [], + string $routeName, + string $content, + array $queryParameters = [], + array $parameters = [] ) { $data = []; try { @@ -103,9 +98,18 @@ class RequestListener $data = $this->grabDataByJsonPath($data, $requestDTO->jsonPath); $data2dtoConverter = new Data2DtoConverter(); - $result = $data2dtoConverter->convert($data, $requestDTO->className, ['default', 'request', 'source_body', 'route_' . $routeName]); - $result = $data2dtoConverter->convert($headers, $requestDTO->className, ['default', 'request', 'source_headers', 'route_' . $routeName], $result); - $result = $data2dtoConverter->convert($server, $requestDTO->className, ['default', 'request', 'source_server', 'route_' . $routeName], $result); + $result = $data2dtoConverter->convert( + $data, + new $requestDTO->className, + [ + 'default', + 'request', + 'request_body', + 'request_headers', + 'request_server', + 'route_' . $routeName + ] + ); return $result; }