/** * getOptions * * @param Request $request * * @return Options */ protected function getOptions(Request $request) { /** @var Options $options */ $options = $request->getAttribute(MiddlewareOptions::getName(), new BasicOptions()); return $options; }
/** * __invoke * * @param Request $request * @param Response $response * @param callable|null $out * * @return mixed */ public function __invoke(Request $request, Response $response, callable $out = null) { $request = $request->withAttribute(MiddlewareOptions::getName(), $this->options); return $out($request, $response); }