GuestMiddleware.php 801 Bytes
Newer Older
Taylor Otwell committed
1
<?php namespace App\Http\Middleware;
Taylor Otwell committed
2

Taylor Otwell committed
3
use Closure;
4
use Illuminate\Http\RedirectResponse;
Taylor Otwell committed
5 6
use Illuminate\Contracts\Auth\Authenticator;
use Illuminate\Contracts\Routing\Middleware;
Taylor Otwell committed
7

Taylor Otwell committed
8
class GuestMiddleware implements Middleware {
Taylor Otwell committed
9 10 11 12 13 14 15 16

	/**
	 * The authenticator implementation.
	 *
	 * @var Authenticator
	 */
	protected $auth;

crynobone committed
17
	/**
Taylor Otwell committed
18 19 20 21 22
	 * Create a new filter instance.
	 *
	 * @param  Authenticator  $auth
	 * @return void
	 */
23
	public function __construct(Authenticator $auth)
Taylor Otwell committed
24 25 26 27 28
	{
		$this->auth = $auth;
	}

	/**
Taylor Otwell committed
29
	 * Handle an incoming request.
Taylor Otwell committed
30
	 *
Taylor Otwell committed
31
	 * @param  \Illuminate\Http\Request  $request
Taylor Otwell committed
32
	 * @param  \Closure  $next
Taylor Otwell committed
33
	 * @return mixed
Taylor Otwell committed
34
	 */
Taylor Otwell committed
35
	public function handle($request, Closure $next)
Taylor Otwell committed
36 37 38
	{
		if ($this->auth->check())
		{
39
			return new RedirectResponse(url('/'));
Taylor Otwell committed
40
		}
Taylor Otwell committed
41 42

		return $next($request);
Taylor Otwell committed
43 44
	}

45
}