Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/main/lib/web/http/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage main * @copyright 2001-2025 Bitrix */ namespace Bitrix\Main\Web\Http; use Bitrix\Main\Diag; use Psr\Log; use Psr\Http\Message\RequestInterface; class Handler implements Log\LoggerAwareInterface, DebugInterface { use Log\LoggerAwareTrait; use DebugInterfaceTrait; protected bool $waitResponse = true; protected int $bodyLengthMax = 0; protected RequestInterface $request; protected ResponseBuilderInterface $responseBuilder; protected $shouldFetchBody = null; protected string $responseHeaders = ''; protected ?Response $response = null; private bool $logStarted = false; /** * @param RequestInterface $request * @param ResponseBuilderInterface $responseBuilder * @param array $options */ public function __construct(RequestInterface $request, ResponseBuilderInterface $responseBuilder, array $options = []) { $this->request = $request; $this->responseBuilder = $responseBuilder; if (isset($options['waitResponse'])) { $this->waitResponse = (bool)$options['waitResponse']; } if (isset($options['bodyLengthMax'])) { $this->bodyLengthMax = (int)$options['bodyLengthMax']; } } /** * @return RequestInterface */ public function getRequest(): RequestInterface { return $this->request; } /** * @return Response | null */ public function getResponse(): ?Response { return $this->response; } /** * Returns the logger from the configuration settings. * * @return Log\LoggerInterface|null */ public function getLogger() { if ($this->logger === null) { $logger = Diag\Logger::create('main.HttpClient', [$this, $this->request]); $this->setLogger($logger ?? new Log\NullLogger()); } return ($this->logger instanceof Log\NullLogger ? null : $this->logger); } public function log(string $logMessage, int $level, array $context = []): void { if (($logger = $this->getLogger()) && ($this->debugLevel & $level)) { if (!$this->logStarted) { $this->logStarted = true; $headMessage = "\n{delimiter}\n{date} - {host}\n{trace}"; $headContext = ['trace' => Diag\Helper::getBackTrace(10, DEBUG_BACKTRACE_IGNORE_ARGS, 5)]; $logger->debug($headMessage, $headContext); } $logger->debug($logMessage, $context); } } /** * Sets a callback called before fetching a message body. * * @param callable $callback * @return void */ public function shouldFetchBody(callable $callback): void { $this->shouldFetchBody = $callback; } }