‪TYPO3CMS  11.5
TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler Class Reference
Inheritance diagram for TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler:

Public Member Functions

 __construct (RedirectService $redirectService)
 
 process (ServerRequestInterface $request, RequestHandlerInterface $handler)
 

Protected Member Functions

 buildRedirectResponse (UriInterface $uri, array $redirectRecord)
 
 incrementHitCount (array $redirectRecord)
 
 redirectUriWillRedirectToCurrentUri (ServerRequestInterface $request, UriInterface $redirectUri)
 
 sanitizeUriForComparison (UriInterface $uri, bool $relativeCheck)
 

Protected Attributes

RedirectService $redirectService
 

Private Member Functions

 isEmptyRedirectUri (UriInterface $uri)
 

Detailed Description

Hooks into the frontend request, and checks if a redirect should apply, If so, a redirect response is triggered.

Definition at line 41 of file RedirectHandler.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::__construct ( RedirectService  $redirectService)

Member Function Documentation

◆ buildRedirectResponse()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::buildRedirectResponse ( UriInterface  $uri,
array  $redirectRecord 
)
protected

◆ incrementHitCount()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::incrementHitCount ( array  $redirectRecord)
protected

Updates the sys_redirect's hit counter by one

Definition at line 103 of file RedirectHandler.php.

References $GLOBALS, and TYPO3\CMS\Core\Database\Connection\PARAM_INT.

Referenced by TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler\process().

◆ isEmptyRedirectUri()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::isEmptyRedirectUri ( UriInterface  $uri)
private

Empty uri leads to a redirect loop in Firefox, whereas Chrome would stop it but not displaying anything.

See also
https://forge.typo3.org/issues/100791

Definition at line 194 of file RedirectHandler.php.

Referenced by TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler\process(), and TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler\redirectUriWillRedirectToCurrentUri().

◆ process()

◆ redirectUriWillRedirectToCurrentUri()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::redirectUriWillRedirectToCurrentUri ( ServerRequestInterface  $request,
UriInterface  $redirectUri 
)
protected

◆ sanitizeUriForComparison()

TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::sanitizeUriForComparison ( UriInterface  $uri,
bool  $relativeCheck 
)
protected

Strip down uri to be suitable to make valid comparison in 'redirectUriWillRedirectToCurrentUri()' if uri is pointing to itself and redirect should be processed.

Definition at line 140 of file RedirectHandler.php.

References TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString().

Referenced by TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler\redirectUriWillRedirectToCurrentUri().

Member Data Documentation

◆ $redirectService

RedirectService TYPO3\CMS\Redirects\Http\Middleware\RedirectHandler::$redirectService
protected