diff --git a/src/Appwrite/Network/Validator/Origin.php b/src/Appwrite/Network/Validator/Origin.php index 2f76aa2f86..8b9974e990 100644 --- a/src/Appwrite/Network/Validator/Origin.php +++ b/src/Appwrite/Network/Validator/Origin.php @@ -51,14 +51,14 @@ class Origin extends Validator */ public function isValid($origin): bool { - $this->origin = $origin; - $this->scheme = null; - $this->host = null; - if (!is_string($origin) || empty($origin)) { return false; } + $this->origin = $origin; + $this->scheme = null; + $this->host = null; + $this->scheme = $this->parseScheme($origin); $this->host = strtolower(parse_url($origin, PHP_URL_HOST) ?? ''); diff --git a/tests/unit/Network/Validators/OriginTest.php b/tests/unit/Network/Validators/OriginTest.php index aa3ab65e5a..7a19daecbf 100644 --- a/tests/unit/Network/Validators/OriginTest.php +++ b/tests/unit/Network/Validators/OriginTest.php @@ -16,6 +16,8 @@ class OriginTest extends TestCase $this->assertEquals(false, $validator->isValid('')); $this->assertEquals(false, $validator->isValid('/')); + $this->assertEquals(false, $validator->isValid([])); + $this->assertEquals(false, $validator->isValid(['http://localhost'])); $this->assertEquals(true, $validator->isValid('https://localhost')); $this->assertEquals(true, $validator->isValid('http://localhost'));