# Change request object before router

**URL:** <https://discourse.slimframework.com/t/change-request-object-before-router/4601>\
**Category:** Questions\
**Created:** [January 8, 2021, 2:32pm UTC](https://discourse.slimframework.com/t/change-request-object-before-router/4601 "2021-01-08T14:32:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![brainstorm](https://avatars.discourse-cdn.com/v4/letter/b/919ad9/32.png) [@brainstorm](https://discourse.slimframework.com/u/brainstorm)\
**Post date:** [January 8, 2021, 2:32pm UTC](https://discourse.slimframework.com/t/change-request-object-before-router/4601/1 "2021-01-08T14:32:00Z")

</div>

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](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/](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.

---

<div class="post-metadata">

**Author:** ![odan](https://avatars.discourse-cdn.com/v4/letter/o/9de053/32.png) [@odan](https://discourse.slimframework.com/u/odan)\
**Post date:** [January 8, 2021, 4:26pm UTC](https://discourse.slimframework.com/t/change-request-object-before-router/4601/2 "2021-01-08T16:26:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![brainstorm](https://avatars.discourse-cdn.com/v4/letter/b/919ad9/32.png) [@brainstorm](https://discourse.slimframework.com/u/brainstorm)\
**Post date:** [January 8, 2021, 4:30pm UTC](https://discourse.slimframework.com/t/change-request-object-before-router/4601/3 "2021-01-08T16:30:28Z")

</div>

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;  
}  
}
