Skip to content
This repository has been archived by the owner on Dec 31, 2023. It is now read-only.

A simple middleware to rewrite Request path, query and fragment.

License

Notifications You must be signed in to change notification settings

linkeddatacenter/url-rewriter

Repository files navigation

linkeddatacenter/url-rewriter

Latest Version on Packagist Software License Build Status Quality Score

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[0] is the regexp pattern to search (internally translated in #^$pattern$# and array[1] is the replacement according the php function preg_replace.

Inspired from middlewares/base-path

Requirements

Installation

This package is installable and autoloadable via Composer as linkeddatacenter/url-rewriter.

composer require linkeddatacenter/url-rewriter

Example

$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());

Options

__construct(array $rules)

rules := array [ , ,.... ] rule := array [ , ]

Test with docker

docker run --rm -ti -v $PWD/.:/app composer composer install
docker run --rm -ti -v $PWD/.:/app composer vendor/bin/phpunit

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.

About

A simple middleware to rewrite Request path, query and fragment.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages