Browse code

added appinfo/info.xml appinfo/signature.json CHANGELOG.txt lib/AppInfo/Application.php css/style.css providers/Plivo

DoubleBastionAdmin authored on 05/11/2025 13:35:09
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,52 @@
1
+<?php
2
+
3
+declare(strict_types=1);
4
+
5
+namespace GuzzleHttp\Psr7;
6
+
7
+use Psr\Http\Message\UriInterface;
8
+
9
+/**
10
+ * Provides methods to determine if a modified URL should be considered cross-origin.
11
+ *
12
+ * @author Graham Campbell
13
+ */
14
+final class UriComparator
15
+{
16
+    /**
17
+     * Determines if a modified URL should be considered cross-origin with
18
+     * respect to an original URL.
19
+     */
20
+    public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool
21
+    {
22
+        if (\strcasecmp($original->getHost(), $modified->getHost()) !== 0) {
23
+            return true;
24
+        }
25
+
26
+        if ($original->getScheme() !== $modified->getScheme()) {
27
+            return true;
28
+        }
29
+
30
+        if (self::computePort($original) !== self::computePort($modified)) {
31
+            return true;
32
+        }
33
+
34
+        return false;
35
+    }
36
+
37
+    private static function computePort(UriInterface $uri): int
38
+    {
39
+        $port = $uri->getPort();
40
+
41
+        if (null !== $port) {
42
+            return $port;
43
+        }
44
+
45
+        return 'https' === $uri->getScheme() ? 443 : 80;
46
+    }
47
+
48
+    private function __construct()
49
+    {
50
+        // cannot be instantiated
51
+    }
52
+}