Browse code

Added README.md appinfo/info.xml appinfo/signature.json lib/Controller/AuthorApiController.php and the providers directory

DoubleBastionAdmin authored on 20/08/2022 16:33:00
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,34 @@
1
+<?php
2
+
3
+namespace Telnyx\Util;
4
+
5
+/**
6
+ * A basic random generator. This is in a separate class so we the generator
7
+ * can be injected as a dependency and replaced with a mock in tests.
8
+ */
9
+class RandomGenerator
10
+{
11
+    /**
12
+     * Returns a random value between 0 and $max.
13
+     *
14
+     * @param float $max (optional)
15
+     * @return float
16
+     */
17
+    public function randFloat($max = 1.0)
18
+    {
19
+        return mt_rand() / mt_getrandmax() * $max;
20
+    }
21
+
22
+    /**
23
+     * Returns a v4 UUID.
24
+     *
25
+     * @return string
26
+     */
27
+    public function uuid()
28
+    {
29
+        $arr = array_values(unpack('N1a/n4b/N1c', openssl_random_pseudo_bytes(16)));
30
+        $arr[2] = ($arr[2] & 0x0fff) | 0x4000;
31
+        $arr[3] = ($arr[3] & 0x3fff) | 0x8000;
32
+        return vsprintf('%08x-%04x-%04x-%04x-%04x%08x', $arr);
33
+    }
34
+}