Middlewares
Os middlewares fornecem um mecanismo conveniente para validar requisições em rotas específicas. A definição na rota é tão simples quanto criar o middleware:
$router->get('/', [
    'middlewares' => [ 'maintenance' ],
    function($request, $response) {
        // ...
    }
]);O middleware deve ser criado em /app/Middlewares:
namespace App\Middlewares;
use \App\Common\Environment as Env;
class Maintenance {
    public function handle($request, $response, $next) {
        if(Env::get('MAINTENANCE') == 'true')
            return $response->send(200, "Em manutenção");
        return $next($request, $response);
    }
}Após criar o middleware é necessário defini-lo com um apelido para que possa utiliza-lo na definição da rota, conforme o exemplo acima. O middleware pode ser definido no arquivo /middlewares.php:
use \App\Http\Middleware;
Middleware::setMap([
    'maintenance' => \App\Middlewares\Maintenance::class
]);É possível definir middlewares padrões que serão executados em todas as rotas criadas, isso permite que um middleware importante seja adicionado automaticamente sem que seja necessário declarar a cada criação de rota:
use \App\Http\Middleware;
Middleware::setMap([
    'maintenance' => \App\Middlewares\Maintenance::class
]);
Middleware::setDefault([
    'maintenance'
]);Last updated