Skip to content

Commit

Permalink
Introduce RequestUtil
Browse files Browse the repository at this point in the history
Abstracts access to following request attributes:

- actor
- session
- locale
- route name
  • Loading branch information
askvortsov1 committed Apr 4, 2021
1 parent 5e8155e commit 2584be8
Showing 1 changed file with 56 additions and 0 deletions.
56 changes: 56 additions & 0 deletions src/Http/RequestUtil.php
Original file line number Diff line number Diff line change
@@ -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);
}
}

0 comments on commit 2584be8

Please sign in to comment.