handler = Closure::fromCallable($handler); if (null !== $segment) { $this->segment = $segment; } } public function __invoke(RequestInterface $request): mixed { return ($this->handler)($request); } public function getMethod(): HttpMethod { return $this->method; } public function setSegment(PathSegment $segment): void { $this->segment = $segment; } public function getSegment(): PathSegment { return $this->segment; } public function getPath(): string { return $this->segment->getPath(); } }