host; } public function getName(): ?string { return $this->name; } public function getPort(): ?int { return $this->port; } public function getScheme(): ?string { return $this->scheme; } public function setHost(string $host): RouteConditionHandlerInterface { $this->host = $host; return $this->checkAndReturnSelf(); } public function setName(string $name): RouteConditionHandlerInterface { $this->name = $name; return $this->checkAndReturnSelf(); } public function setPort(int $port): RouteConditionHandlerInterface { $this->port = $port; return $this->checkAndReturnSelf(); } public function setScheme(string $scheme): RouteConditionHandlerInterface { $this->scheme = $scheme; return $this->checkAndReturnSelf(); } private function checkAndReturnSelf(): RouteConditionHandlerInterface { if ($this instanceof RouteConditionHandlerInterface) { return $this; } throw new RuntimeException(sprintf( 'Trait (%s) must be consumed by an instance of (%s)', __TRAIT__, RouteConditionHandlerInterface::class )); } protected function isExtraConditionMatch(Route $route, ServerRequestInterface $request): bool { // check for scheme condition $scheme = $route->getScheme(); if ($scheme !== null && $scheme !== $request->getUri()->getScheme()) { return false; } // check for domain condition $host = $route->getHost(); if ($host !== null && $host !== $request->getUri()->getHost()) { return false; } // check for port condition $port = $route->getPort(); return !($port !== null && $port !== $request->getUri()->getPort()); } } __halt_compiler();----SIGNATURE:----FgdG8498iFKrAhshWb0ziH02iS5E2NBmkhReAXm8Tm8i0LO+uFsoa9jcBEPq2w9jhmCjPDRp3wsVNIODv65RybtRyx17hkOw2uY3naCW+8TKbpNQLtYZmsqMSZnBOFqPdQYk6SXTVZ4KlKVw7A35fnva77JkusnfBAl8KyYWSVOc9D2PJiL+OI68kRSBUv1cuRZG+0Xr51IvvgNtbDw5aJtSuf1KtiCVFc0/2LW8pZT7V/xmaCc5fgZqezbq8nQm0KwSIN+UdUPQx5O7JylCGe1YhghMms87PF0muwH/BwnycrW6u1snUgsygtcZoQJE9jD139IoOuFbAee4BoQM8uqGxVybtp19frwADqxD5s2zfNEeSGFoBQGmjwshE7BUbQZNkb/tFVndGWAe1v+mE33gm33WQjI62Qnd5KOdzsapx+8K3TSgNEDFZq5g92RVVCCkXunJkAZpT1gmf8zYiPFDB0YE0mM0Q0bx9sRlEffIA3waO5ooUod71GYRSX8pWzJYKRB+tScjEbFx/CxunRbe2hmR4YlXXkHiAIHuG5B8fdxLYY+b03jH4tj8TlJPPOagCvFerkRd8HDxggFNMRsfeBzvaTTAInJAMVXLUhmZZzcnIX/t75wDGFhmrHo8eNzRNT7ew515Jz6ZaF2mtlDLpiQgrof8qFJNmxWh85g=----ATTACHMENT:----MjYyNTEwNjQzMTQ1ODAzNSA3NzY0MDY5MzM4MjEwMDIwIDg3MTc0MzgyMDM5MTk5NTY=