• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/web/http/socket/handler.php
  • Класс: BitrixMainWebHttpSocketHandler
  • Вызов: Handler::sendConnect
protected function sendConnect(): void
{
	$request = $this->request;
	$uri = $request->getUri();
	$host = $uri->getHost();

	$requestHeaders = 'CONNECT ' . $host . ':' . $uri->getPort() . ' HTTP/1.1' . "rn"
		. 'Host: ' . $host . "rn"
	;

	if ($request->hasHeader('Proxy-Authorization'))
	{
		$requestHeaders .= 'Proxy-Authorization' . ': ' . $request->getHeaderLine('Proxy-Authorization') . "rn";
		$this->request = $request->withoutHeader('Proxy-Authorization');
	}

	$requestHeaders .= "rn";

	$this->log(">>>CONNECTn" . $requestHeaders, WebHttpDebug::REQUEST_HEADERS);

	// blocking is critical for headers
	$this->socket->setBlocking();
	$this->write($requestHeaders, 'Error sending CONNECT to proxy.');
	$this->socket->setBlocking(false);
}