middlewares/base-path

Middleware to remove the prefix from the uri path of the request.

v1.1.0 2018-08-04 10:41 UTC

README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads SensioLabs Insight

Middleware to remove the prefix from the uri path of the request. This is useful to combine with routers if the root of the website is in a subdirectory. For example, if the root of your website is /web/public, a request with the uri /web/public/post/34 will be converted to /post/34.

Requirements

Installation

This package is installable and autoloadable via Composer as middlewares/base-path.

composer require middlewares/base-path

Example

$dispatcher = new Dispatcher([
	new Middlewares\BasePath('/base/path')
]);

$response = $dispatcher->dispatch(new ServerRequest());

Options

__construct(string $basePath)

The prefix to remove.

fixLocation(true)

Used to add the prefix to the Location header. For example:

$dispatcher = new Dispatcher([
    (new Middlewares\BasePath('/base/path'))->fixLocation(),

    function ($request, $next) {
        return new RedirectResponse('/post/1');
    }
]);

$response = $dispatcher->dispatch($request);
echo $response->getHeader('Location'); // Returns /base/path/post/1

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

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