Файл: vendor/laravel/framework/src/Illuminate/Routing/RedirectController.php
Строк: 42
<?php
namespace IlluminateRouting;
use IlluminateHttpRedirectResponse;
use IlluminateHttpRequest;
use IlluminateSupportStr;
class RedirectController extends Controller
{
/**
* Invoke the controller method.
*
* @param IlluminateHttpRequest $request
* @param IlluminateRoutingUrlGenerator $url
* @return IlluminateHttpRedirectResponse
*/
public function __invoke(Request $request, UrlGenerator $url)
{
$parameters = collect($request->route()->parameters());
$status = $parameters->get('status');
$destination = $parameters->get('destination');
$parameters->forget('status')->forget('destination');
$route = (new Route('GET', $destination, [
'as' => 'laravel_route_redirect_destination',
]))->bind($request);
$parameters = $parameters->only(
$route->getCompiled()->getPathVariables()
)->all();
$url = $url->toRoute($route, $parameters, false);
if (! str_starts_with($destination, '/') && str_starts_with($url, '/')) {
$url = Str::after($url, '/');
}
return new RedirectResponse($url, $status);
}
}