<?php namespace EEPROM; use Index\Http\HttpUri; use Index\Http\Routing\HandlerContext; use Index\Http\Routing\Routes\RouteInfo; use Index\Http\Routing\AccessControl\{AccessControl,SimpleAccessControlHandler}; class EEPROMAccessControlHandler extends SimpleAccessControlHandler { public function __construct( private array $origins, ) {} #[\Override] public function checkAccess( HandlerContext $context, AccessControl $accessControl, HttpUri $origin, ?RouteInfo $routeInfo = null, ): string|bool { if($accessControl->credentials) { $host = '.' . $origin->host; foreach($this->origins as $allowOrigin) if(str_ends_with($host, '.' . $allowOrigin)) return (string)$origin; } return true; } }