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

	// Full URI for HTTP proxies
	$target = ($this->useProxy && $uri->getScheme() === 'http' ? (string)$uri : $request->getRequestTarget());

	$requestHeaders = $request->getMethod() . ' ' . $target . ' HTTP/' . $request->getProtocolVersion() . "rn";

	foreach ($request->getHeaders() as $name => $values)
	{
		foreach ($values as $value)
		{
			$requestHeaders .= $name . ': ' . $value . "rn";
		}
	}

	$requestHeaders .= "rn";

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

	// blocking is critical for headers
	$this->socket->setBlocking();

	$this->write($requestHeaders, 'Error sending the message headers.');

	$this->socket->setBlocking(false);
}