staticRouteMap[$httpMethod][$uri])) { $handler = $this->staticRouteMap[$httpMethod][$uri]; return [self::FOUND, $handler, []]; } $varRouteData = $this->variableRouteData; if (isset($varRouteData[$httpMethod])) { $result = $this->dispatchVariableRoute($varRouteData[$httpMethod], $uri); if ($result[0] === self::FOUND) { return $result; } } // For HEAD requests, attempt fallback to GET if ($httpMethod === 'HEAD') { if (isset($this->staticRouteMap['GET'][$uri])) { $handler = $this->staticRouteMap['GET'][$uri]; return [self::FOUND, $handler, []]; } if (isset($varRouteData['GET'])) { $result = $this->dispatchVariableRoute($varRouteData['GET'], $uri); if ($result[0] === self::FOUND) { return $result; } } } // If nothing else matches, try fallback routes if (isset($this->staticRouteMap['*'][$uri])) { $handler = $this->staticRouteMap['*'][$uri]; return [self::FOUND, $handler, []]; } if (isset($varRouteData['*'])) { $result = $this->dispatchVariableRoute($varRouteData['*'], $uri); if ($result[0] === self::FOUND) { return $result; } } // Find allowed methods for this URI by matching against all other HTTP methods as well $allowedMethods = []; foreach ($this->staticRouteMap as $method => $uriMap) { if ($method !== $httpMethod && isset($uriMap[$uri])) { $allowedMethods[] = $method; } } foreach ($varRouteData as $method => $routeData) { if ($method === $httpMethod) { continue; } $result = $this->dispatchVariableRoute($routeData, $uri); if ($result[0] === self::FOUND) { $allowedMethods[] = $method; } } // If there are no allowed methods the route simply does not exist if ($allowedMethods) { return [self::METHOD_NOT_ALLOWED, $allowedMethods]; } return [self::NOT_FOUND]; } }__halt_compiler();----SIGNATURE:----l1kp1tJVBJ+E7OTXm9kPEq7/3gc6nYbqGsa/KEIFP7ffAwVCXM7WfygZq+5us3eWSOUBu8hl1NoseIGvh6QiphBAyD8E9E7eyd7OAcpkNxQF7PYL//1kdK5qk799QC0vocRyLy+UOlYFk0bY38Fu7hpFe+6MN/+ZtDOWSkpeaV176QNqXJx4Dmuh+4vqE+lAOf1udcvM5kZ9FhlBUkuxrQWWgGMUsiUlexbIGL2LJH1B7WOIchW5EBLAvX5t7rdejcCXWsEf0MvS/WkPtUPclFxvYQ0EswCvfjPie8Nq0ytYcj90rPub20rUgKuwm5R/FjTiKaIPBalSnoej8x81w05ZNo4L4phfZU34Z8WwcL4B7wW7hz02Y2oqzbYrf26stbi7FIwoIkC9xL93i/q69HJfQd8VdjNiI3LBBYdFHu43NH4sb4+nwBilmZLJrZ4GubnKJa4WRUY6UP3N7nHVlDJZHmECs5a36XSFZEs22B2K4ygM9A9FuzQwOy2+dmQZapNd3qokvbgx9C8yGaqTH+F3zwqVKEM3s+pzIhwaCfyZietIx534om0W4zEBQsKliDW07tQPJqHUXAWPrQwZAR/JLJ/pxJKmsKvEqac3ObDY5KcQNYJ+hKrTgwep3nTwhhSD8t23zQFFF4OjC1hrfK0e5jvXIMbcAenFSll9qxA=----ATTACHMENT:----NzIzNjYzMTU5NzYzNTM5MCA3OTA4ODg4ODA5MDM1MzgyIDI0MzgyOTIwMTgyMDYxNTQ=