Merge "Rest API: urldecode path parameters"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 1 Jul 2019 01:37:41 +0000 (01:37 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 1 Jul 2019 01:37:41 +0000 (01:37 +0000)
1  2 
includes/Rest/Router.php

diff --combined includes/Rest/Router.php
@@@ -233,13 -233,12 +233,13 @@@ class Router 
                        }
                }
  
-               $request->setPathParams( $match['params'] );
+               $request->setPathParams( array_map( 'rawurldecode', $match['params'] ) );
                $spec = $match['userData'];
                $objectFactorySpec = array_intersect_key( $spec,
                        [ 'factory' => true, 'class' => true, 'args' => true ] );
 +              /** @var $handler Handler (annotation for PHPStorm) */
                $handler = ObjectFactory::getObjectFromSpec( $objectFactorySpec );
 -              $handler->init( $request, $spec, $this->responseFactory );
 +              $handler->init( $this, $request, $spec, $this->responseFactory );
  
                try {
                        return $this->executeHandler( $handler );