Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.12 KB

File metadata and controls

38 lines (27 loc) · 1.12 KB

UrlGeneratorMiddleware

Adds the given UrlGeneratorInterface as request attribute urlGenerator (UrlGeneratorMiddleware::ATTRIBUTE), so it is available within the following middlewares and request handlers.

Methods

process

<?php

use Chubbyphp\Framework\Middleware\UrlGeneratorMiddleware;
use Chubbyphp\Framework\Router\Some\UrlGenerator;
use Chubbyphp\Framework\Router\UrlGeneratorInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
use Some\Psr7\ServerRequest;

$request = new ServerRequest();

$handler = new class() implements RequestHandlerInterface {
    public function handle(ServerRequestInterface $request): ResponseInterface
    {
        /** @var UrlGeneratorInterface $urlGenerator */
        $urlGenerator = $request->getAttribute(UrlGeneratorMiddleware::ATTRIBUTE);

        $urlGenerator->generatePath('pet_read', ['id' => '1']);

        return new Response();
    }
};

$urlGeneratorMiddleware = new UrlGeneratorMiddleware(new UrlGenerator());

$response = $urlGeneratorMiddleware->process($request, $handler);