diff --git a/src/classes/Middleware/ZrlMiddleware.php b/src/classes/Middleware/ZrlMiddleware.php new file mode 100644 index 0000000..e880481 --- /dev/null +++ b/src/classes/Middleware/ZrlMiddleware.php @@ -0,0 +1,40 @@ + + * @package Friendica\Directory\Middleware + */ +class ZrlMiddleware +{ + /** + * @var PhpRenderer + */ + private $phpRenderer; + + public function __construct(PhpRenderer $phpRenderer) + { + $this->phpRenderer = $phpRenderer; + } + + /** + * @param ServerRequestInterface $request PSR7 request + * @param ResponseInterface $response PSR7 response + * @param callable $next Next middleware + * + * @return ResponseInterface + */ + public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next) + { + $this->phpRenderer->addAttribute('zrl', $request->getQueryParams()['zrl'] ?? null); + + return $next($request, $response); + } +}