Skip to content

🔩 Common interfaces for Cormy PSR-7 server middlewares

License

Notifications You must be signed in to change notification settings

cormy/server-middleware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cormy\Server\MiddlewareInterface Build Status

SensioLabsInsight

🔩 Common interfaces for Cormy PSR-7 server middlewares

Install

composer require cormy/server-middleware

Usage

use Generator;
use Cormy\Server\MiddlewareInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

class Middleware implements MiddlewareInterface
{
    /**
     * Process an incoming server request and return the response, optionally delegating
     * to the next request handler.
     *
     * @param ServerRequestInterface $request
     *
     * @return Generator yields PSR `ServerRequestInterface` instances and returns a PSR `ResponseInterface` instance
     */
    public function __invoke(ServerRequestInterface $request):Generator
    {
        // delegate $request to the next request handler
        $response = yield $request;

        // mofify the response
        $response = $response->withHeader('X-PoweredBy', 'Unicorns');

        return $response;
    }
}

License

MIT © Michael Mayer

About

🔩 Common interfaces for Cormy PSR-7 server middlewares

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages