Skip to content

Repository files navigation

Sirius Middleware

Source CodeLatest VersionSoftware LicenseBuild StatusCoverage StatusQuality Score

Regular middleware

$middlewares = array();
$middlewares[] = function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
};
$middlewares[] = function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
};
$runner = Sirius\Middleware\Runner::factory($middlewares);
$response = $runner(Zend\Diactoros\ServerRequestFactory::fromGlobals(), newZend\Diactoros\Response);

The middleware runners are immutable so adding a new middleware returns a new runner. If you want to create the runner by hand

// this is WRONG!!!!!!!!!$runner = newSirius\Middleware\Runner;
$runner->add(function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
});
$runner->add(function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
});
// this is CORRECT$runner = (newSirius\Middleware\Runner)
->add(function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
})
->add(function(RequestInterface$request, ResponseInterface$response, callable$next = null) {
// do your thingreturn$response;
});

Frame middleware

Inspired by this article http://blog.ircmaxell.com/2016/05/all-about-middleware.html

$middlewares = array();
// first middleware in the stack must return an response$middlewares[] = function(RequestInterface$request, callable$next = null) {
returnnewZend\Diactoros\Response;
};
$middlewares[] = function(RequestInterface$request, callable$next = null) {
// do your thingreturn$response;
};
$middlewares[] = function(RequestInterface$request, callable$next = null) {
// do your thingreturn$response;
};
$runner = Sirius\Middleware\FrameRunner::factory($middlewares);
$response = $runner(Zend\Diactoros\ServerRequestFactory::fromGlobals());

About

Lightweight middleware implementation. 15 LOC

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages