mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-15 15:44:03 +08:00
35 lines
897 B
PHP
35 lines
897 B
PHP
|
<?php
|
||
|
|
||
|
namespace BookStack\Http\Middleware;
|
||
|
|
||
|
use Illuminate\Http\Request;
|
||
|
use Illuminate\Session\Middleware\StartSession as Middleware;
|
||
|
|
||
|
/**
|
||
|
* An extended version of the default Laravel "StartSession" middleware
|
||
|
* with customizations applied as required:
|
||
|
*
|
||
|
* - Adds filtering for the request URLs stored in session history.
|
||
|
*/
|
||
|
class StartSessionExtended extends Middleware
|
||
|
{
|
||
|
protected static array $pathPrefixesExcludedFromHistory = [
|
||
|
'uploads/images/'
|
||
|
];
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
protected function storeCurrentUrl(Request $request, $session): void
|
||
|
{
|
||
|
$requestPath = strtolower($request->path());
|
||
|
foreach (static::$pathPrefixesExcludedFromHistory as $excludedPath) {
|
||
|
if (str_starts_with($requestPath, $excludedPath)) {
|
||
|
return;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
parent::storeCurrentUrl($request, $session);
|
||
|
}
|
||
|
}
|