- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/webdav.php
- Класс: CDavWebDav
- Вызов: CDavWebDav::SearchIfHeaderConditionsToken
private function SearchIfHeaderConditionsToken($string, &$pos)
{
while (in_array($string[$pos], [' ', 'n', 'r', 't'], true))
{
++$pos;
}
if (mb_strlen($string) <= $pos)
{
return false;
}
$c = $string[$pos++];
switch ($c)
{
case "<":
$pos2 = mb_strpos($string, ">", $pos);
$uri = mb_substr($string, $pos, $pos2 - $pos);
$pos = $pos2 + 1;
return array("URI", $uri);
case "[":
if ($string[$pos] === "W")
{
$type = "ETAG_WEAK";
$pos += 2;
}
else
{
$type = "ETAG_STRONG";
}
$pos2 = mb_strpos($string, "]", $pos);
$etag = mb_substr($string, $pos + 1, $pos2 - $pos - 2);
$pos = $pos2 + 1;
return array($type, $etag);
case "N":
$pos += 2;
return array("NOT", "Not");
default:
return array("CHAR", $c);
}
}