Merge pull request #11692 from MrPetovan/bug/fatal-errors

Convert potential spaces in Memcache(d) key names
This commit is contained in:
Philipp 2022-06-26 13:34:23 +02:00 committed by GitHub
commit f39231eb2a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 1 deletions

View file

@ -68,6 +68,17 @@ class MemcacheCache extends AbstractCache implements ICanCacheInMemory
} }
} }
/**
* Memcache doesn't allow spaces in keys
*
* @param string $key
* @return string
*/
protected function getCacheKey(string $key): string
{
return str_replace(' ', '_', parent::getCacheKey($key));
}
/** /**
* (@inheritdoc) * (@inheritdoc)
*/ */

View file

@ -93,6 +93,17 @@ class MemcachedCache extends AbstractCache implements ICanCacheInMemory
} }
} }
/**
* Memcached doesn't allow spaces in keys
*
* @param string $key
* @return string
*/
protected function getCacheKey(string $key): string
{
return str_replace(' ', '_', parent::getCacheKey($key));
}
/** /**
* (@inheritdoc) * (@inheritdoc)
*/ */

View file

@ -2017,7 +2017,7 @@ class OStatus
* cache or it is empty * cache or it is empty
* *
* @param string $owner_nick Nickname of the feed owner * @param string $owner_nick Nickname of the feed owner
* @param string $last_update Date of the last update * @param string $last_update Date of the last update (in "Y-m-d H:i:s" format)
* @param integer $max_items Number of maximum items to fetch * @param integer $max_items Number of maximum items to fetch
* @param string $filter Feed items filter (activity, posts or comments) * @param string $filter Feed items filter (activity, posts or comments)
* @param boolean $nocache Wether to bypass caching * @param boolean $nocache Wether to bypass caching

View file

@ -237,4 +237,13 @@ abstract class CacheTest extends MockedTest
self::assertNotContains('value1', $list); self::assertNotContains('value1', $list);
self::assertNotContains('value2', $list); self::assertNotContains('value2', $list);
} }
/**
* @small
*/
public function testSpaceInKey()
{
self::assertTrue($this->instance->set('key space', 'value'));
self::assertEquals('value', $this->instance->get('key space'));
}
} }