mantis-matrix-integration – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 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 }