1
0
mirror of https://github.com/flarum/core.git synced 2025-08-08 09:26:34 +02:00

Introduce RequestUtil

Abstracts access to following request attributes:

- actor
- session
- locale
- route name
This commit is contained in:
Alexander Skvortsov
2020-11-11 17:16:56 -05:00
parent 0c95774333
commit 76680d197d

56
src/Http/RequestUtil.php Normal file
View File

@@ -0,0 +1,56 @@
<?php
/*
* This file is part of Flarum.
*
* For detailed copyright and license information, please view the
* LICENSE file that was distributed with this source code.
*/
namespace Flarum\Http;
use Flarum\User\User;
use Illuminate\Contracts\Session\Session;
use Psr\Http\Message\ServerRequestInterface as Request;
class RequestUtil
{
public static function getActor(Request $request): User {
return $request->getAttribute('actor');
}
public function withActor(Request $request, User $actor): Request
{
return $request->withAttribute('actor', $actor);
}
public function getSession(Request $request): Session
{
return $request->getAttribute('session');
}
public function withSession(Request $request, Session $session): Request
{
return $request->withAttribute('session', $session);
}
public function getLocale(Request $request): string
{
return $request->getAttribute('bypassCsrfToken');
}
public function withLocale(Request $request, string $locale): Request
{
return $request->withAttribute('locale', $locale);
}
public function getRouteName(Request $request): string
{
return $request->getAttribute('routeName');
}
public function withRouteName(Request $request, string $routeName): Request
{
return $request->withAttribute('routeName', $routeName);
}
}