rbrecruiter/app/Http/Middleware/UsernameUUID.php
Miguel Nogueira ed95f02e00 Fix error where exception appeared instead of error message
This commit fixes an issue with fake MC usernames being used and 
resulting in a fatal exception. Displays an error msg now.
2020-06-28 04:51:32 +01:00

41 lines
934 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use App\Facades\UUID;
use Illuminate\Support\Facades\Http;
class UsernameUUID
{
/**
* Converts a Minecraft username found in the request body to a UUID
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$input = $request->all();
if (isset($input['uuid']))
{
try
{
$username = $input['uuid'];
$input['uuid'] = UUID::toUUID($username);
}
catch(\InvalidArgumentException $iae)
{
report($iae);
$request->session()->flash('error', $iae->getMessage());
return redirect(route('register'));
}
$request->replace($input);
}
return $next($request);
}
}