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:----KASDfRW8I3Vlvm1oC17TMmNZ+ZiZCro9QxmKfy7egBcSxwwo4kXillUYJTLDOhqX4x9YARoKH4mJK59xENDLMiPJU+bQCrb0/nVu/X18zpszlC96siAA7KYN8VHhIwFJGiadQ4b2epW4/ybu8WvNV7hfNJcG41ba2VEhiJrDriCHd0xRH+/pxNjJOQmj/KpdNgmxQzF2uO5cbkL5xe6jEpF+7FDpoS1VtVxpeGy15UnZxVr0QJZaLBLcZ0u1S0tlYvz1Pu7oYirWUl5Gi9BcDiwhqk99YGDs5ifmoBjGJw+xNnn/hEezDEr6vwHj5c+e3NlAlU0rr/49n6zx0XxGGCA06NWolUaE4qb2w/b9qT5btCSH1ddm9G87QEOcTgBLnUhgi+u48cMUNF7ewfe7WzgEAG3wxfRrYMORjQGbGmvEdFLwS+MLYAWwrpjOOCvTozOaLCeSZHfQ2U6VzKOOxzisvXUZm5Nug/OjqyUazXHL+FvNQDuhz7WA9M42tTew/DuPPwyrTvAJbBGb+gzLsZnpdMdcFpo8HvVypIXBoRVoCKHsp2jnDQ+ez81opqFn9NPOja1ZUB32p+FBYUPuR6JRWIJ/Ko2jhH39QrDHC9aHtXX0cPS2vRp16KBB4kr93crlhelsLdsBUeBz28ytAWvzyE+7E/ieU8FkHxPOpr8=----ATTACHMENT:----Nzg5MDc5OTY4MTc2NDc4MiAxNTgxMzU0MDU2MjM5MDYzIDQ4NTg0MzAyMTA1NjkyNA==