<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\URL;

class LangControl
{
    /**
     * Handle an incoming request.
     *
     * @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
     */
    public function handle(Request $request, Closure $next): Response
    {

        $segments = $request->segments();
        if (strlen($segments[0]) == 2 && preg_match('/[A-Za-z]/', $segments[0])) {
            app()->setLocale($segments[0]);

            $request->attributes->set('set_lang', true);
            \Session::put('locate',app()->getLocale());
            \Session::save();
        } else {
            app()->setLocale(config('app.locale'));
        }
//        array_shift($segments);
//        $url = \request()->path();
//        $url = str_replace(app()->getLocale(), '', $url);
//        // Modify the request
//        $newPath = '/' . implode('/', $segments);
//        $newUrl = $request->root() . $newPath . ($request->getQueryString() ? '?'.$request->getQueryString() : '');
//
//        $request->initialize(
//            $request->query->all(),
//            $request->request->all(),
//            $request->attributes->all(),
//            $request->cookies->all(),
//            $request->files->all(),
//            $request->server->all()
//        );
//


        return $next($request);
    }
}