Deprecation: #109523 - GeneralUtility::isOnCurrentHost() without PSR-7 request 

See forge#109523

Description 

Calling \TYPO3\CMS\Core\Utility\GeneralUtility::isOnCurrentHost() without providing a PSR-7 ServerRequestInterface as second argument is deprecated.

The method previously resolved the current host via GeneralUtility::getIndpEnv(), which hides an implicit dependency on server globals. The method signature has been extended to accept an explicit PSR-7 request object, which should be passed instead.

Impact 

A PHP E_USER_DEPRECATED error is triggered when GeneralUtility::isOnCurrentHost() is called without a ServerRequestInterface argument.

Affected installations 

All installations using third-party extensions that call GeneralUtility::isOnCurrentHost() with only one argument are affected.

Migration 

Pass the current PSR-7 request as second argument to GeneralUtility::isOnCurrentHost().

Before:

use TYPO3\CMS\Core\Utility\GeneralUtility;

$isOnCurrentHost = GeneralUtility::isOnCurrentHost($url);
Copied!

After:

use Psr\Http\Message\ServerRequestInterface;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$isOnCurrentHost = GeneralUtility::isOnCurrentHost($url, $request);
Copied!

The PSR-7 request is available in various places, for example as an argument in controller actions, via $GLOBALS['TYPO3_REQUEST'] in legacy contexts, or via ServerRequestInterface method parameters.