mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-29 08:09:58 +09:00
- 2022년 3월 개발팀 결정사항 적용 - 모듈 등 서드파티 자료 개발시 composer를 사용하면 상위 경로에 있는 코어의 composer.json을 수정하고, 코어의 vendor 디렉토리를 건드리는 것이 기본값임 - 이를 방지하기 위해 코어의 composer.json과 vendor를 common 디렉토리 안으로 이동하여, 모듈 경로에서 상위 폴더로 인식하지 않도록 함
52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace GuzzleHttp\Psr7;
|
|
|
|
use Psr\Http\Message\UriInterface;
|
|
|
|
/**
|
|
* Provides methods to determine if a modified URL should be considered cross-origin.
|
|
*
|
|
* @author Graham Campbell
|
|
*/
|
|
final class UriComparator
|
|
{
|
|
/**
|
|
* Determines if a modified URL should be considered cross-origin with
|
|
* respect to an original URL.
|
|
*/
|
|
public static function isCrossOrigin(UriInterface $original, UriInterface $modified): bool
|
|
{
|
|
if (\strcasecmp($original->getHost(), $modified->getHost()) !== 0) {
|
|
return true;
|
|
}
|
|
|
|
if ($original->getScheme() !== $modified->getScheme()) {
|
|
return true;
|
|
}
|
|
|
|
if (self::computePort($original) !== self::computePort($modified)) {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
private static function computePort(UriInterface $uri): int
|
|
{
|
|
$port = $uri->getPort();
|
|
|
|
if (null !== $port) {
|
|
return $port;
|
|
}
|
|
|
|
return 'https' === $uri->getScheme() ? 443 : 80;
|
|
}
|
|
|
|
private function __construct()
|
|
{
|
|
// cannot be instantiated
|
|
}
|
|
}
|