diff --git a/composer.json b/composer.json index 4fea646..b517199 100644 --- a/composer.json +++ b/composer.json @@ -30,5 +30,10 @@ "Flagsmith\\": "src", "FlagsmithTest\\": "tests" } + }, + "config": { + "allow-plugins": { + "php-http/discovery": true + } } } diff --git a/src/Flagsmith.php b/src/Flagsmith.php index 186a064..d73d04b 100644 --- a/src/Flagsmith.php +++ b/src/Flagsmith.php @@ -418,8 +418,9 @@ private function getIdentityFlagsFromApi(string $identifier, ?object $traits): F { try { $data = IdentitiesGenerator::generateIdentitiesData($identifier, $traits); + $cacheKey = IdentitiesGenerator::generateIdentitiesCacheKey($identifier, $traits); $apiFlags = $this->cachedCall( - 'Global', + $cacheKey, 'POST', $this->identities_url, $data diff --git a/src/Utils/IdentitiesGenerator.php b/src/Utils/IdentitiesGenerator.php index 6b08d24..2285ec7 100644 --- a/src/Utils/IdentitiesGenerator.php +++ b/src/Utils/IdentitiesGenerator.php @@ -19,4 +19,10 @@ public static function generateIdentitiesData(string $identifier, ?object $trait return $identities; } + + public static function generateIdentitiesCacheKey(string $identifier, ?object $traits) + { + $hashedTraits = $traits !== null ? '.'.sha1(serialize($traits)) : ''; + return 'Identity.'.$identifier.$hashedTraits; + } }