psr15-middlewares

Collection of PSR-15 middlewares

Github星跟蹤圖

logo

psr15-middlewares

Collection of PSR-15 middlewares

Requirements

Usage example

use Zend\Diactoros\ServerRequestFactory;
use Middlewares\Utils\Dispatcher;
use Middlewares;

$dispatcher = new Dispatcher([

    //Handle errors
    (new Middlewares\ErrorHandler())
    	->catchExceptions(true),

    //Log the request
    new Middlewares\AccessLog($app->get('logger')),

    //Calculate the response time
    new Middlewares\ResponseTime(),

    //Removes the trailing slash
    new Middlewares\TrailingSlash(false),

    //Insert the UUID
    new Middlewares\Uuid(),

    //Disable the search engine robots
    new Middlewares\Robots(false),

    //Compress the response to gzip
    new Middlewares\GzipEncoder(),

    //Minify the html
    new Middlewares\HtmlMinifier(),

    //Override the method using X-Http-Method-Override header
    new Middlewares\MethodOverride(),

    //Parse the json payload
    new Middlewares\JsonPayload(),

    //Parse the urlencoded payload
    new Middlewares\UrlEncodePayload(),

    //Save the client ip in the '_ip' attribute
    (new Middlewares\ClientIp())
    	->attribute('_ip'),

    //Allow only some ips
    (new Middlewares\Firewall(['127.0.0.*']))
        ->ipAttribute('_ip'),

    //Add cache expiration headers
    new Middlewares\Expires(),

    //Negotiate the content-type
    new Middlewares\ContentType(),

    //Negotiate the language
    new Middlewares\ContentLanguage(['gl', 'es', 'en']),

    //Handle the routes with fast-route
    new Middlewares\FastRoute($app->get('dispatcher')),

    //Create and save a session in '_session' attribute
    (new Middlewares\AuraSession())
        ->attribute('_session'),

    //Add the php debugbar
    new Middlewares\Debugbar(),

    //Handle the route
    new Middlewares\RequestHandler(),
]);

$response = $dispatcher->dispatch(ServerRequestFactory::fromGlobals());

List of all available middlewares

Authentication

Client info

Develop utils

Optimization

Routers

Security

Session

Urls

Others

Contributing

Use the package repository of each component to notify any issue or pull request related with it, and use this repository for generical questions, new middlewares discussions, etc.

If you want to contribute with new middlewares, you can take a look to these ideas. There's also a skeleton that you can use for quick start.

See CONTRIBUTING for contributing details.

Download the logo from the art directory.


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

主要指標

概覽
名稱與所有者middlewares/psr15-middlewares
主編程語言
編程語言 (語言數: 0)
平台
許可證MIT License
所有者活动
創建於2016-10-10 16:36:47
推送於2025-04-05 06:48:58
最后一次提交2025-04-05 06:48:57
發布數0
用户参与
星數412
關注者數27
派生數14
提交數44
已啟用問題?
問題數4
打開的問題數0
拉請求數7
打開的拉請求數0
關閉的拉請求數2
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?