Change request object before router

Hello, I need to edit the $request object before slim v4 router call the route. This is an example:

An example of my request: https://website.com/param/myroute

Slim route that trigger that request:
$app->get(’/myroute’, function (Request $request, Response $response, $args) {

});

Another example: https://website.com/param/

Slim route that trigger that request:
$app->get(’/’, function (Request $request, Response $response, $args) {

});

I need to remove param from the $request object before slim trigger the routes.

(don’t suggest to use $app->setBasePath because param is a variable param not always defined).

Thanks for suggestions.

Have you tried using a route group with a placeholder for the first param?

Hello, I have solved with this trick (this is a middleware):

use Slim\Psr7\Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Psr7\Response;

class Myclass
{
public function __invoke(Request $request, RequestHandler $handler): Response
{
$request = $request->withUri($request->getUri()->withPath(’/here the path with basepath without param/’));
$response = $handler->handle($request);
return $response;
}
}