[](https://travis-ci.org/gourmet/filters [](https://packagist.org/packages/gourmet/filters
Dispatcher filters (middlewares) for CakePHP 3.
NOTE: This is the master
branch, latest stable is 1.0 branch.
Using Composer:
composer require gourmet/filters:1.1.x-dev
You then need to load the plugin. In boostrap.php
, something like:
\Cake\Core\Plugin::load('Gourmet/Filters');
All the below examples happen in bootstrap.php
.
By default, this filter will look for the ROOT/maintenance.html
file and if it exists,
it will use it as the response.
DispatcherFactory::add('Gourmet/Filters.Maintenance');
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'
]
]);
or
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'.
DispatcherFactory::add('Gourmet/Filters.Robots');
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.
- Fork
- 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
http://github.com/gourmet/filters/issues
Copyright (c) 2015, Jad Bitar and licensed under The MIT License.