Middleware to change request uri.
Simple Middleware to rewrite the path, the query and the fragment of the an http request uri. It requires an array of rules that are evaluated in sequence. A rule is a two position array: array is the regexp pattern to search (internally translated in #^$pattern$# and array is the replacement according the php function preg_replace.
Inspired from middlewares/base-path
- PHP >= 7.0
- A PSR-7 http message implementation (Diactoros, Guzzle, Slim, etc...)
- A PSR-15 middleware dispatcher
This package is installable and autoloadable via Composer as linkeddatacenter/url-rewriter.
composer require linkeddatacenter/url-rewriter
$dispatcher = new Dispatcher([ new Middlewares\BasePath([ [ '/(\w+)' => '/$1/pluto', '/(\w+)/(\w+)/(\w+).(csv|json|xml)(.*)' =>'/$1/docstore?db=$2&table=$3&format=$4$5', ]) ]); $response = $dispatcher->dispatch(new ServerRequest());
rules := array [ , ,.... ] rule := array [ , ]
docker run --rm -ti -v $PWD/.:/app composer bash composer install vendor/bin/phpunit
The MIT License (MIT). Please see LICENSE for more information.