private async void PutImpl(UnityWebRequest completeRequest, Action onComplete) { var url = completeRequest?.url; if (null == completeRequest || string.IsNullOrEmpty(url)) { onComplete(); return; } var key = Crypto.Sha256(url); var value = completeRequest.downloadHandler?.data; await Task.Run(() => { if (null == value || 0 == value.Length) { return; } var editor = cacheImpl.Edit(key); editor?.Put(value); editor?.Commit(); }); onComplete(); }
public void ValidateKey() { string key; try { key = "has_space "; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was invalid."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } try { key = "has_CR\r"; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was invalid."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } try { key = "has_LF\n"; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was invalid."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } try { key = "has_invalid/"; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was invalid."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } try { key = "has_invalid\u2603"; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was invalid."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } try { key = "this_is_way_too_long_this_is_way_too_long_this_is_way_too_long_" + "this_is_way_too_long_this_is_way_too_long_this_is_way_too_long"; cache.Edit(key); Assert.Fail("Exepcting an IllegalArgumentException as the key was too long."); } catch (ArgumentException iae) { Assert.That(iae.Message, Contains.Substring("keys must match regex")); } key = "0123456789012345678901234567890123456789012345678901234567890123456789" + "01234567890123456789012345678901234567890123456789"; cache.Edit(key).Abort(); key = "abcdefghijklmnopqrstuvwxyz_0123456789"; cache.Edit(key).Abort(); key = "-20384573948576"; cache.Edit(key).Abort(); }