Dispatcher filters (middlewares) for CakePHP 3
Dispatcher filters (middlewares) for CakePHP 3.
NOTE: This is the
master branch, latest stable is 1.0 branch.
composer require gourmet/filters:1.1.x-dev
You then need to load the plugin. In
boostrap.php, something like:
All the below examples happen in
By default, this filter will look for the
ROOT/maintenance.html file and if it exists,
it will use it as the response.
You could customize the path like so:
DispatcherFactory::add('Gourmet/Filters.Maintenance', [ 'path' => '/absolute/path/to/maintenance/file.html' ]);
You could for example do
echo 'Scheduled maintenance' > maintenance.html and your site
will automatically be set to maintenance mode with the message 'Scheduled maintenance'.
Restrict access to spefic IPs and/or ban other.
DispatcherFactory::add('Gourmet/Filters.Ip', [ 'allow' => [ '127.0.0.1' ] ]);
DispatcherFactory::add('Gourmet/Filters.Ip', [ 'disallow' => [ '127.0.0.1' ] ]);
This one provides a default
robots.txt file for non-production environments. By default,
it checks the 'APP_ENV' environment variable and compares it's value to 'production'.
On all your non-production environments,
robots.txt will look like this:
User-Agent: * Disallow: /
and your pages' headers will include the
X-Robots-Tag with 'noindex. nofollow, noarchive' flags.
You can customize all of that using the configuration keys: priority, when, key, value.
- Mod, fix
- Test - this is important, so it's not unintentionally broken
- Commit - do not mess with license, todo, version, etc. (if you do change any, bump them into commits of their own that I can ignore when I pull)
- Pull request - bonus point for topic branches
Copyright (c) 2015, Jad Bitar and licensed under The MIT License.