> For the complete documentation index, see [llms.txt](https://sw-fw-less.gitbook.io/project/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sw-fw-less.gitbook.io/project/mvc/middleware.md).

# Middleware

It supports multiple middlewares. You can set both route middlewares and global middlewares. The priority of router middleware is lower than the one of global middleware.

### Example

```
<?php

namespace App\middlewares;

use App\components\Config;
use App\components\Request;

class Cors extends AbstractMiddleware
{
    /**
     * @param Request $request
     * @return \App\components\Response|mixed
     */
    public function handle(Request $request)
    {
        if (Config::get('cors.switch')) {
            return $this->next($request)->header('Access-Control-Allow-Origin', (string)Config::get('cors.origin'));
        }

        return $this->next($request);
    }
}

```
