mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-06-29 16:09:23 +02:00
29 lines
623 B
PHP
29 lines
623 B
PHP
<?php
|
|
|
|
namespace SilverStripe\Control;
|
|
|
|
class SessionMiddleware implements HTTPMiddleware
|
|
{
|
|
|
|
/**
|
|
* @inheritdoc
|
|
*/
|
|
public function process(HTTPRequest $request, callable $delegate)
|
|
{
|
|
try {
|
|
// Start session and execute
|
|
$request->getSession()->init();
|
|
|
|
// Generate output
|
|
$response = $delegate($request);
|
|
|
|
// Save session data, even if there was an exception.
|
|
// Note that save() will start/resume the session if required.
|
|
} finally {
|
|
$request->getSession()->save();
|
|
}
|
|
|
|
return $response;
|
|
}
|
|
}
|