- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/groupdavclient.php
- Класс: CDavGroupdavClient
- Вызов: CDavGroupdavClient::Send
private function Send($request)
{
$i = 0;
while (true)
{
$i++;
if ($i > 3)
{
break;
}
if ($this->debug)
{
$f = fopen($_SERVER["DOCUMENT_ROOT"]."/++++++++.+++", "a");
fwrite($f, "n>>>>>>>>>>>>>>>>>> REQUEST ".$i." >>>>>>>>>>>>>>>>n");
fwrite($f, $request ? $request->ToString() : "???");
fwrite($f, "n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<privateIp === false)
{
$parsedUrl = new BitrixMainWebUri($this->scheme. '://'
. $this->server . ':'
. ($this->port) . '/'
. $request->GetPath()
);
$ip = IpAddress::createByUri($parsedUrl);
if($ip->isPrivate())
{
$this->AddError("401", GetMessage("DAV_GDC_INCORRECT_SERVER"));
return null;
}
}
$this->SendRequest($request);
$response = $this->GetResponse();
if ($this->debug)
{
$f = fopen($_SERVER["DOCUMENT_ROOT"]."/++++++++.+++", "a");
fwrite($f, "n>>>>>>>>>>>>>>>>>> RESPONCE ".$i." >>>>>>>>>>>>>>>>n");
fwrite($f, $response ? $response->Dump() : "???");
fwrite($f, "n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<GetHeader('Location')) && !is_null($location) && $response->GetStatus('code') != 201)
{
if ($this->proxyUsed)
$request->SetPath($this->scheme."://".$this->server.((intval($this->port) > 0) ? ":".$this->port : "").$location);
else
$request->SetPath($location);
continue;
}
elseif (($statusCode = $response->GetStatus('code')) && (intval($statusCode) == 401))
{
$request = $this->Authenticate($request, $response);
if (is_null($request))
{
return null;
}
continue;
}
}
break;
}
if (!is_null($response) && ($statusCode = $response->GetStatus('code')) && (intval($statusCode) == 401))
{
$this->AddError("401", GetMessage("DAV_GDC_NOT_AUTH"));
}
if ($this->debug)
{
$f = fopen($_SERVER["DOCUMENT_ROOT"]."/++++++++.+++", "a");
fwrite($f, "n>>>>>>>>>>>>>>>>>> RESPONSE >>>>>>>>>>>>>>>>n");
if (is_null($response))
{
fwrite($f, "NULL");
}
else
{
fwrite($f, $response->Dump());
}
fwrite($f, "n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<