/** {@inheritdoc} */
 protected function doGetArguments(Request $request, $controller, array $parameters)
 {
     $psr7Factory = new DiactorosFactory();
     $psrRequestClasses = [RequestInterface::class, ServerRequestInterface::class];
     foreach ($parameters as $param) {
         if ($param->getClass() && in_array($param->getClass()->getName(), $psrRequestClasses)) {
             $request->attributes->set($param->getName(), $psr7Factory->createRequest($request));
             break;
         }
     }
     return parent::doGetArguments($request, $controller, $parameters);
 }
 protected function doGetArguments(Request $request, $controller, array $parameters)
 {
     foreach ($parameters as $param) {
         if ($param->isArray() && $param->getName() == 'params' && !$request->attributes->has('params')) {
             $request->attributes->set('params', $request->request->all());
             break;
         }
         if ($param->isArray() && $param->getName() == 'query' && !$request->attributes->has('query')) {
             $request->attributes->set('query', $request->query->all());
             break;
         }
     }
     return parent::doGetArguments($request, $controller, $parameters);
 }