Quick Start

Attach Antennas

Attach a VHF antenna to the top right RF port on the iGateMini.

Attach the included GPS antenna to the left RF port of the iGateMini.

The antenna connection are marked on the bottom of the PCB.

Do not transmit when no antenna is attached.

Apply Power

Attach the included USB-C cable to the iGateMini. Power with a 2-amp or greater USB charger or power bank.

Once power is applied, the iGateMini with go through it's startup process. The iGateMini will start in Access Point mode.

Connect to the iGateMini

Using your mobile device or WiFi enabled computer, search for available WiFi networks. Find the Access Point with the name CSN_igate_XXXX (Where XXXX is the serial number of the iGateMIni).

Connect your mobile device to that access point. Some mobile devices will complain that this access point will not provide internet access. This is normal and you should allow the connection if prompted.

Open the Dashboard

Using your mobile device's web browser, navigate to the IP address displayed on the LCD screen. For example: http://192.168.4.1

A page should open and prompt you with some basic questions to get you started quickly.

Enter Callsign and Basic Options

Enter just your callsign without the numeric SSID.

Choose an SSID. iGates usually have 10 as their SSID.

Answer the 3 questions how you want to operate your iGateMini. These can be changed later in the settings.

If you SKIP these questions you can set them in the iGateMini settings page later.

Press SAVE to proceed.

Connect to Network

Choose the Access Point from the drop-down choices.

Enter your WiFi password.

Press Connect

Watch the LCD on the iGateMini - is will attempt to connect to the specified WiFi netwwork. If successful, it will be assigned an IP address other than 192.168.4.1

If you SKIP these questions your iGateMini will not join a network and will continue to be an access point.

Press SAVE to proceed.

Warranty

CSN Technologies Inc. provides a 3 Month LIMITED WARRANTY against manufacturing defects in materials and workmanship to the original purchaser of a new S.A.T. purchased from CSN Technologies Inc directly or from an authorized dealer. The warranty begins on the date of purchase by the customer.

Whoops! There was an error.
ErrorException (E_WARNING)
file_get_contents(/var/www/html/iGateMini/resources/views/igatemini/manual/get-started/get-familiar.htm): failed to open stream: No such file or directory ErrorException thrown with message "file_get_contents(/var/www/html/iGateMini/resources/views/igatemini/manual/get-started/get-familiar.htm): failed to open stream: No such file or directory" Stacktrace: #41 ErrorException in /var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php:203 #40 file_get_contents in /var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php:203 #39 App\Http\Controllers\iGateMiniController:getManualPDF in /var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php:21 #38 App\Http\Controllers\iGateMiniController:getiGateManual in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Controller.php:54 #37 Illuminate\Routing\Controller:callAction in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45 #36 Illuminate\Routing\ControllerDispatcher:dispatch in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Route.php:219 #35 Illuminate\Routing\Route:runController in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Route.php:176 #34 Illuminate\Routing\Route:run in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php:681 #33 Illuminate\Routing\Router:Illuminate\Routing\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:130 #32 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:41 #31 Illuminate\Routing\Middleware\SubstituteBindings:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #30 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php:78 #29 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #28 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:49 #27 Illuminate\View\Middleware\ShareErrorsFromSession:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #26 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:56 #25 Illuminate\Session\Middleware\StartSession:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #24 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:37 #23 Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #22 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:67 #21 Illuminate\Cookie\Middleware\EncryptCookies:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #20 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:105 #19 Illuminate\Pipeline\Pipeline:then in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php:683 #18 Illuminate\Routing\Router:runRouteWithinStack in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php:658 #17 Illuminate\Routing\Router:runRoute in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php:624 #16 Illuminate\Routing\Router:dispatchToRoute in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php:613 #15 Illuminate\Routing\Router:dispatch in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:170 #14 Illuminate\Foundation\Http\Kernel:Illuminate\Foundation\Http\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:130 #13 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #12 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #11 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21 #10 Illuminate\Foundation\Http\Middleware\TransformsRequest:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #9 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php:27 #8 Illuminate\Foundation\Http\Middleware\ValidatePostSize:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #7 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php:63 #6 Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #5 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/fideloper/proxy/src/TrustProxies.php:57 #4 Fideloper\Proxy\TrustProxies:handle in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:171 #3 Illuminate\Pipeline\Pipeline:Illuminate\Pipeline\{closure} in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:105 #2 Illuminate\Pipeline\Pipeline:then in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:145 #1 Illuminate\Foundation\Http\Kernel:sendRequestThroughRouter in /var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:110 #0 Illuminate\Foundation\Http\Kernel:handle in /var/www/html/iGateMini/public/index.php:55
41
ErrorException
/app/Http/Controllers/iGateMiniController.php203
40
file_get_contents
/app/Http/Controllers/iGateMiniController.php203
39
App\Http\Controllers\iGateMiniController getManualPDF
/app/Http/Controllers/iGateMiniController.php21
38
App\Http\Controllers\iGateMiniController getiGateManual
/vendor/laravel/framework/src/Illuminate/Routing/Controller.php54
37
Illuminate\Routing\Controller callAction
/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php45
36
Illuminate\Routing\ControllerDispatcher dispatch
/vendor/laravel/framework/src/Illuminate/Routing/Route.php219
35
Illuminate\Routing\Route runController
/vendor/laravel/framework/src/Illuminate/Routing/Route.php176
34
Illuminate\Routing\Route run
/vendor/laravel/framework/src/Illuminate/Routing/Router.php681
33
Illuminate\Routing\Router Illuminate\Routing\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php130
32
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php41
31
Illuminate\Routing\Middleware\SubstituteBindings handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
30
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php78
29
Illuminate\Foundation\Http\Middleware\VerifyCsrfToken handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
28
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php49
27
Illuminate\View\Middleware\ShareErrorsFromSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
26
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php56
25
Illuminate\Session\Middleware\StartSession handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
24
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php37
23
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
22
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php67
21
Illuminate\Cookie\Middleware\EncryptCookies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
20
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php105
19
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Routing/Router.php683
18
Illuminate\Routing\Router runRouteWithinStack
/vendor/laravel/framework/src/Illuminate/Routing/Router.php658
17
Illuminate\Routing\Router runRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php624
16
Illuminate\Routing\Router dispatchToRoute
/vendor/laravel/framework/src/Illuminate/Routing/Router.php613
15
Illuminate\Routing\Router dispatch
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php170
14
Illuminate\Foundation\Http\Kernel Illuminate\Foundation\Http\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php130
13
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
12
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
11
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php21
10
Illuminate\Foundation\Http\Middleware\TransformsRequest handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
9
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php27
8
Illuminate\Foundation\Http\Middleware\ValidatePostSize handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
7
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php63
6
Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
5
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/fideloper/proxy/src/TrustProxies.php57
4
Fideloper\Proxy\TrustProxies handle
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php171
3
Illuminate\Pipeline\Pipeline Illuminate\Pipeline\{closure}
/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php105
2
Illuminate\Pipeline\Pipeline then
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php145
1
Illuminate\Foundation\Http\Kernel sendRequestThroughRouter
/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php110
0
Illuminate\Foundation\Http\Kernel handle
/public/index.php55
/var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php
            color: #FFFFFF;
        }
        
        pre {
         font-family:courier, courier new
         }
        
        
        .lpagelnk {
          cursor: pointer;
          color: blue;
        }
        .lpagelnk:hover {
            text-decoration: underline;
        }</style>";
 
        echo $style;
 
        echo file_get_contents($p . "get-started/introduction" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/get-familiar" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/quickstart" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/network" .'.htm'); echo $page;
 
        // dashboard section
        echo file_get_contents($p . "dashboard/trackp" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/mapchartp" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/radiop" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/optionbut" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/controlp" .'.htm'); echo $page;
 
        // operation section
        echo file_get_contents($p . "operation/favorites" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/satstatus" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/starttracking" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/usingradio" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/qsolog" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/gps" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/schedule" .'.htm'); echo $page;
 
        // config section
Arguments
  1. "file_get_contents(/var/www/html/iGateMini/resources/views/igatemini/manual/get-started/get-familiar.htm): failed to open stream: No such file or directory"
    
/var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php
            color: #FFFFFF;
        }
        
        pre {
         font-family:courier, courier new
         }
        
        
        .lpagelnk {
          cursor: pointer;
          color: blue;
        }
        .lpagelnk:hover {
            text-decoration: underline;
        }</style>";
 
        echo $style;
 
        echo file_get_contents($p . "get-started/introduction" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/get-familiar" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/quickstart" .'.htm'); echo $page;
        echo file_get_contents($p . "get-started/network" .'.htm'); echo $page;
 
        // dashboard section
        echo file_get_contents($p . "dashboard/trackp" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/mapchartp" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/radiop" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/optionbut" .'.htm'); echo $page;
        echo file_get_contents($p . "dashboard/controlp" .'.htm'); echo $page;
 
        // operation section
        echo file_get_contents($p . "operation/favorites" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/satstatus" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/starttracking" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/usingradio" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/qsolog" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/gps" .'.htm'); echo $page;
        echo file_get_contents($p . "operation/schedule" .'.htm'); echo $page;
 
        // config section
/var/www/html/iGateMini/app/Http/Controllers/iGateMiniController.php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use App\VisitLog;
use App\Satellite;
use App\SatelliteStatus;
use Illuminate\Support\Facades\DB;
 
class iGateMiniController extends Controller
{
    public function index(Request $r) {
        VisitController::saveVisit($r);
        //return view('rotator2');
    }
    
    
    public function getiGateManual(Request $r) {
        if($r->p=='PDF') {
            return $this->getManualPDF($r);
        }
        if(!$r->a) {
            $p='get-started.introduction';
            if($r->p) $p=$r->p;
            return view('igatemini.manual.main',['p'=>$p]);
        }
 
        $p=$r->p;
        $p=str_replace('.','/',$p);
        $p=str_replace('..','',$p);
        $p=str_replace('///','',$p);
        $p=str_replace('//','',$p);
        $f = '/var/www/html/iGateMini/resources/views/igatemini/manual/'.$p.'.htm';
        return file_get_contents($f);
    }
 
    public function getManualPDF(Request $r) {
        $p = '/var/www/html/iGateMini/resources/views/igatemini/manual/';
        
        $page = "<div style='page-break-after: always;'></div>";
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Controller.php
    /**
     * Get the middleware assigned to the controller.
     *
     * @return array
     */
    public function getMiddleware()
    {
        return $this->middleware;
    }
 
    /**
     * Execute an action on the controller.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function callAction($method, $parameters)
    {
        return $this->{$method}(...array_values($parameters));
    }
 
    /**
     * Handle calls to missing methods on the controller.
     *
     * @param  string  $method
     * @param  array  $parameters
     * @return mixed
     *
     * @throws \BadMethodCallException
     */
    public function __call($method, $parameters)
    {
        throw new BadMethodCallException(sprintf(
            'Method %s::%s does not exist.', static::class, $method
        ));
    }
}
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php
    {
        $this->container = $container;
    }
 
    /**
     * Dispatch a request to a given controller and method.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  mixed  $controller
     * @param  string  $method
     * @return mixed
     */
    public function dispatch(Route $route, $controller, $method)
    {
        $parameters = $this->resolveClassMethodDependencies(
            $route->parametersWithoutNulls(), $controller, $method
        );
 
        if (method_exists($controller, 'callAction')) {
            return $controller->callAction($method, $parameters);
        }
 
        return $controller->{$method}(...array_values($parameters));
    }
 
    /**
     * Get the middleware for the controller instance.
     *
     * @param  \Illuminate\Routing\Controller  $controller
     * @param  string  $method
     * @return array
     */
    public function getMiddleware($controller, $method)
    {
        if (! method_exists($controller, 'getMiddleware')) {
            return [];
        }
 
        return collect($controller->getMiddleware())->reject(function ($data) use ($method) {
            return static::methodExcludedByOptions($method, $data['options']);
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Route.php
    protected function runCallable()
    {
        $callable = $this->action['uses'];
 
        return $callable(...array_values($this->resolveMethodDependencies(
            $this->parametersWithoutNulls(), new ReflectionFunction($this->action['uses'])
        )));
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     *
     * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException
     */
    protected function runController()
    {
        return $this->controllerDispatcher()->dispatch(
            $this, $this->getController(), $this->getControllerMethod()
        );
    }
 
    /**
     * Get the controller instance for the route.
     *
     * @return mixed
     */
    public function getController()
    {
        if (! $this->controller) {
            $class = $this->parseControllerCallback()[0];
 
            $this->controller = $this->container->make(ltrim($class, '\\'));
        }
 
        return $this->controller;
    }
 
    /**
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Route.php
     *
     * @throws \UnexpectedValueException
     */
    protected function parseAction($action)
    {
        return RouteAction::parse($this->uri, $action);
    }
 
    /**
     * Run the route action and return the response.
     *
     * @return mixed
     */
    public function run()
    {
        $this->container = $this->container ?: new Container;
 
        try {
            if ($this->isControllerAction()) {
                return $this->runController();
            }
 
            return $this->runCallable();
        } catch (HttpResponseException $e) {
            return $e->getResponse();
        }
    }
 
    /**
     * Checks whether the route's action is a controller.
     *
     * @return bool
     */
    protected function isControllerAction()
    {
        return is_string($this->action['uses']);
    }
 
    /**
     * Run the route action and return the response.
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php
     */
    public function __construct(Registrar $router)
    {
        $this->router = $router;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->router->substituteBindings($route = $request->route());
 
        $this->router->substituteImplicitBindings($route);
 
        return $next($request);
    }
}
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Session\TokenMismatchException
     */
    public function handle($request, Closure $next)
    {
        if (
            $this->isReading($request) ||
            $this->runningUnitTests() ||
            $this->inExceptArray($request) ||
            $this->tokensMatch($request)
        ) {
            return tap($next($request), function ($response) use ($request) {
                if ($this->shouldAddXsrfTokenCookie()) {
                    $this->addCookieToResponse($request, $response);
                }
            });
        }
 
        throw new TokenMismatchException('CSRF token mismatch.');
    }
 
    /**
     * Determine if the HTTP request uses a ‘read’ verb.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function isReading($request)
    {
        return in_array($request->method(), ['HEAD', 'GET', 'OPTIONS']);
    }
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        // If the current session has an "errors" variable bound to it, we will share
        // its value with all view instances so the views can easily access errors
        // without having to bind. An empty bag is set when there aren't errors.
        $this->view->share(
            'errors', $request->session()->get('errors') ?: new ViewErrorBag
        );
 
        // Putting the errors in the view for every view allows the developer to just
        // assume that some errors are always available, which is convenient since
        // they don't have to continually run checks for the presence of errors.
 
        return $next($request);
    }
}
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (! $this->sessionConfigured()) {
            return $next($request);
        }
 
        // If a session driver has been configured, we will need to start the session here
        // so that the data is ready for an application. Note that the Laravel sessions
        // do not make use of PHP "native" sessions in any way since they are crappy.
        $request->setLaravelSession(
            $session = $this->startSession($request)
        );
 
        $this->collectGarbage($session);
 
        $response = $next($request);
 
        $this->storeCurrentUrl($request, $session);
 
        $this->addCookieToResponse($response, $session);
 
        // Again, if the session has been configured we will need to close out the session
        // so that the attributes may be persisted to some storage medium. We will also
        // add the session identifier cookie to the application response headers now.
        $this->saveSession($request);
 
        return $response;
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php
     * Create a new CookieQueue instance.
     *
     * @param  \Illuminate\Contracts\Cookie\QueueingFactory  $cookies
     * @return void
     */
    public function __construct(CookieJar $cookies)
    {
        $this->cookies = $cookies;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $response = $next($request);
 
        foreach ($this->cookies->getQueuedCookies() as $cookie) {
            $response->headers->setCookie($cookie);
        }
 
        return $response;
    }
}
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php
     * Disable encryption for the given cookie name(s).
     *
     * @param  string|array  $name
     * @return void
     */
    public function disableFor($name)
    {
        $this->except = array_merge($this->except, (array) $name);
    }
 
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function handle($request, Closure $next)
    {
        return $this->encrypt($next($this->decrypt($request)));
    }
 
    /**
     * Decrypt the cookies on the request.
     *
     * @param  \Symfony\Component\HttpFoundation\Request  $request
     * @return \Symfony\Component\HttpFoundation\Request
     */
    protected function decrypt(Request $request)
    {
        foreach ($request->cookies as $key => $cookie) {
            if ($this->isDisabled($key)) {
                continue;
            }
 
            try {
                $value = $this->decryptCookie($key, $cookie);
 
                $hasValidPrefix = strpos($value, CookieValuePrefix::create($key, $this->encrypter->getKey())) === 0;
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
                        ->then(function ($request) use ($route) {
                            return $this->prepareResponse(
                                $request, $route->run()
                            );
                        });
    }
 
    /**
     * Gather the middleware for the given route with resolved class names.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @return array
     */
    public function gatherRouteMiddleware(Route $route)
    {
        $middleware = collect($route->gatherMiddleware())->map(function ($name) {
            return (array) MiddlewareNameResolver::resolve($name, $this->middleware, $this->middlewareGroups);
        })->flatten();
 
        return $this->sortMiddleware($middleware);
    }
 
    /**
     * Sort the given middleware by priority.
     *
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Routing\Route  $route
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function runRoute(Request $request, Route $route)
    {
        $request->setRouteResolver(function () use ($route) {
            return $route;
        });
 
        $this->events->dispatch(new RouteMatched($route, $request));
 
        return $this->prepareResponse($request,
            $this->runRouteWithinStack($route, $request)
        );
    }
 
    /**
     * Run the given route within a Stack "onion" instance.
     *
     * @param  \Illuminate\Routing\Route  $route
     * @param  \Illuminate\Http\Request  $request
     * @return mixed
     */
    protected function runRouteWithinStack(Route $route, Request $request)
    {
        $shouldSkipMiddleware = $this->container->bound('middleware.disable') &&
                                $this->container->make('middleware.disable') === true;
 
        $middleware = $shouldSkipMiddleware ? [] : $this->gatherRouteMiddleware($route);
 
        return (new Pipeline($this->container))
                        ->send($request)
                        ->through($middleware)
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
    {
        $this->current = $route = $this->routes->match($request);
 
        $this->container->instance(Route::class, $route);
 
        return $route;
    }
 
    /**
     * Return the response for the given route.
     *
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Routing/Router.php
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function respondWithRoute($name)
    {
        $route = tap($this->routes->getByName($name))->bind($this->currentRequest);
 
        return $this->runRoute($this->currentRequest, $route);
    }
 
    /**
     * Dispatch the request to the application.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatch(Request $request)
    {
        $this->currentRequest = $request;
 
        return $this->dispatchToRoute($request);
    }
 
    /**
     * Dispatch the request to a route and return the response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Symfony\Component\HttpFoundation\Response
     */
    public function dispatchToRoute(Request $request)
    {
        return $this->runRoute($request, $this->findRoute($request));
    }
 
    /**
     * Find the route matching a given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Routing\Route
     */
    protected function findRoute($request)
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
    protected function prepareDestination(Closure $destination)
    {
        return function ($passable) use ($destination) {
            try {
                return $destination($passable);
            } catch (Exception $e) {
                return $this->handleException($passable, $e);
            } catch (Throwable $e) {
                return $this->handleException($passable, new FatalThrowableError($e));
            }
        };
    }
 
    /**
     * Get a Closure that represents a slice of the application onion.
     *
     * @return \Closure
     */
    protected function carry()
    {
        return function ($stack, $pipe) {
            return function ($passable) use ($stack, $pipe) {
                try {
                    if (is_callable($pipe)) {
                        // If the pipe is a callable, then we will call it directly, but otherwise we
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php
 
namespace Illuminate\Foundation\Http\Middleware;
 
use Closure;
use Symfony\Component\HttpFoundation\ParameterBag;
 
class TransformsRequest
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $this->clean($request);
 
        return $next($request);
    }
 
    /**
     * Clean the request's data.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return void
     */
    protected function clean($request)
    {
        $this->cleanParameterBag($request->query);
 
        if ($request->isJson()) {
            $this->cleanParameterBag($request->json());
        } elseif ($request->request !== $request->query) {
            $this->cleanParameterBag($request->request);
        }
    }
 
    /**
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php
class ValidatePostSize
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     *
     * @throws \Illuminate\Http\Exceptions\PostTooLargeException
     */
    public function handle($request, Closure $next)
    {
        $max = $this->getPostMaxSize();
 
        if ($max > 0 && $request->server('CONTENT_LENGTH') > $max) {
            throw new PostTooLargeException;
        }
 
        return $next($request);
    }
 
    /**
     * Determine the server 'post_max_size' as bytes.
     *
     * @return int
     */
    protected function getPostMaxSize()
    {
        if (is_numeric($postMaxSize = ini_get('post_max_size'))) {
            return (int) $postMaxSize;
        }
 
        $metric = strtoupper(substr($postMaxSize, -1));
        $postMaxSize = (int) $postMaxSize;
 
        switch ($metric) {
            case 'K':
                return $postMaxSize * 1024;
            case 'M':
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     * @throws \Illuminate\Foundation\Http\Exceptions\MaintenanceModeException
     */
    public function handle($request, Closure $next)
    {
        if ($this->app->isDownForMaintenance()) {
            $data = json_decode(file_get_contents($this->app->storagePath().'/framework/down'), true);
 
            if (isset($data['allowed']) && IpUtils::checkIp($request->ip(), (array) $data['allowed'])) {
                return $next($request);
            }
 
            if ($this->inExceptArray($request)) {
                return $next($request);
            }
 
            throw new MaintenanceModeException($data['time'], $data['retry'], $data['message']);
        }
 
        return $next($request);
    }
 
    /**
     * Determine if the request has a URI that should be accessible in maintenance mode.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return bool
     */
    protected function inExceptArray($request)
    {
        foreach ($this->except as $except) {
            if ($except !== '/') {
                $except = trim($except, '/');
            }
 
            if ($request->fullUrlIs($except) || $request->is($except)) {
                return true;
            }
        }
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/fideloper/proxy/src/TrustProxies.php
    {
        $this->config = $config;
    }
 
    /**
     * Handle an incoming request.
     *
     * @param \Illuminate\Http\Request $request
     * @param \Closure                 $next
     *
     * @throws \Symfony\Component\HttpKernel\Exception\HttpException
     *
     * @return mixed
     */
    public function handle(Request $request, Closure $next)
    {
        $request::setTrustedProxies([], $this->getTrustedHeaderNames()); // Reset trusted proxies between requests
        $this->setTrustedProxyIpAddresses($request);
 
        return $next($request);
    }
 
    /**
     * Sets the trusted proxies on the request to the value of trustedproxy.proxies
     *
     * @param \Illuminate\Http\Request $request
     */
    protected function setTrustedProxyIpAddresses(Request $request)
    {
        $trustedIps = $this->proxies ?: $this->config->get('trustedproxy.proxies');
 
        // Trust any IP address that calls us
        // `**` for backwards compatibility, but is deprecated
        if ($trustedIps === '*' || $trustedIps === '**') {
            return $this->setTrustedProxyIpAddressesToTheCallingIp($request);
        }
 
        // Support IPs addresses separated by comma
        $trustedIps = is_string($trustedIps) ? array_map('trim', explode(',', $trustedIps)) : $trustedIps;
 
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
                        // the appropriate method and arguments, returning the results back out.
                        return $pipe($passable, $stack);
                    } elseif (! is_object($pipe)) {
                        [$name, $parameters] = $this->parsePipeString($pipe);
 
                        // If the pipe is a string we will parse the string and resolve the class out
                        // of the dependency injection container. We can then build a callable and
                        // execute the pipe function giving in the parameters that are required.
                        $pipe = $this->getContainer()->make($name);
 
                        $parameters = array_merge([$passable, $stack], $parameters);
                    } else {
                        // If the pipe is already an object we'll just make a callable and pass it to
                        // the pipe as-is. There is no need to do any extra parsing and formatting
                        // since the object we're given was already a fully instantiated object.
                        $parameters = [$passable, $stack];
                    }
 
                    $carry = method_exists($pipe, $this->method)
                                    ? $pipe->{$this->method}(...$parameters)
                                    : $pipe(...$parameters);
 
                    return $this->handleCarry($carry);
                } catch (Exception $e) {
                    return $this->handleException($passable, $e);
                } catch (Throwable $e) {
                    return $this->handleException($passable, new FatalThrowableError($e));
                }
            };
        };
    }
 
    /**
     * Parse full pipe string to get name and parameters.
     *
     * @param  string  $pipe
     * @return array
     */
    protected function parsePipeString($pipe)
    {
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php
    public function via($method)
    {
        $this->method = $method;
 
        return $this;
    }
 
    /**
     * Run the pipeline with a final destination callback.
     *
     * @param  \Closure  $destination
     * @return mixed
     */
    public function then(Closure $destination)
    {
        $pipeline = array_reduce(
            array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination)
        );
 
        return $pipeline($this->passable);
    }
 
    /**
     * Run the pipeline and return the result.
     *
     * @return mixed
     */
    public function thenReturn()
    {
        return $this->then(function ($passable) {
            return $passable;
        });
    }
 
    /**
     * Get the final piece of the Closure onion.
     *
     * @param  \Closure  $destination
     * @return \Closure
     */
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    }
 
    /**
     * Send the given request through the middleware / router.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    protected function sendRequestThroughRouter($request)
    {
        $this->app->instance('request', $request);
 
        Facade::clearResolvedInstance('request');
 
        $this->bootstrap();
 
        return (new Pipeline($this->app))
                    ->send($request)
                    ->through($this->app->shouldSkipMiddleware() ? [] : $this->middleware)
                    ->then($this->dispatchToRouter());
    }
 
    /**
     * Bootstrap the application for HTTP requests.
     *
     * @return void
     */
    public function bootstrap()
    {
        if (! $this->app->hasBeenBootstrapped()) {
            $this->app->bootstrapWith($this->bootstrappers());
        }
    }
 
    /**
     * Get the route dispatcher callback.
     *
     * @return \Closure
     */
    protected function dispatchToRouter()
/var/www/html/iGateMini/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php
    public function __construct(Application $app, Router $router)
    {
        $this->app = $app;
        $this->router = $router;
 
        $this->syncMiddlewareToRouter();
    }
 
    /**
     * Handle an incoming HTTP request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function handle($request)
    {
        try {
            $request->enableHttpMethodParameterOverride();
 
            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);
 
            $response = $this->renderException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));
 
            $response = $this->renderException($request, $e);
        }
 
        $this->app['events']->dispatch(
            new RequestHandled($request, $response)
        );
 
        return $response;
    }
 
    /**
     * Send the given request through the middleware / router.
     *
/var/www/html/iGateMini/public/index.php
*/
 
$app = require_once __DIR__.'/../bootstrap/app.php';
 
/*
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 

Environment & details:

Key Value
p
"PDF"
empty
empty
empty
empty
Key Value
USER
"www-data"
HOME
"/var/www"
HTTP_CONNECTION
"keep-alive"
HTTP_CACHE_CONTROL
"max-age=0"
HTTP_X_FORWARDED_FOR
"10.3.238.227"
HTTP_VIA
"1.1 squid-proxy-5b5d847c96-88cng (squid/6.10)"
HTTP_HOST
"csnsat.com"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT
"*/*"
REDIRECT_STATUS
"200"
SERVER_NAME
"csnsat.com"
SERVER_PORT
"80"
SERVER_ADDR
"172.31.94.93"
REMOTE_PORT
"19586"
REMOTE_ADDR
"216.73.216.145"
SERVER_SOFTWARE
"nginx/1.18.0"
GATEWAY_INTERFACE
"CGI/1.1"
REQUEST_SCHEME
"http"
SERVER_PROTOCOL
"HTTP/1.1"
DOCUMENT_ROOT
"/var/www/html/iGateMini/public"
DOCUMENT_URI
"/index.php"
REQUEST_URI
"/igate/manual?p=PDF"
SCRIPT_NAME
"/index.php"
CONTENT_LENGTH
""
CONTENT_TYPE
""
REQUEST_METHOD
"GET"
QUERY_STRING
"p=PDF"
SCRIPT_FILENAME
"/var/www/html/iGateMini/public/index.php"
FCGI_ROLE
"RESPONDER"
PHP_SELF
"/index.php"
REQUEST_TIME_FLOAT
1756631619.7588
REQUEST_TIME
1756631619
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:rSBjiJiW+s4osvAP0benlWAKBbC1+yW64zkR5eV59rA="
APP_DEBUG
"true"
APP_URL
"http://localhost"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"iGateMini"
DB_USERNAME
"iGateMini"
DB_PASSWORD
"baofeng"
DB_CONNECTION2
"mysql"
DB_HOST2
"127.0.0.1"
DB_PORT2
"3306"
DB_DATABASE2
"CSN"
DB_USERNAME2
"csnuser"
DB_PASSWORD2
"quansheng"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
QUEUE_CONNECTION
"sync"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
AWS_ACCESS_KEY_ID
""
AWS_SECRET_ACCESS_KEY
""
AWS_DEFAULT_REGION
"us-east-1"
AWS_BUCKET
""
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
Key Value
APP_NAME
"Laravel"
APP_ENV
"local"
APP_KEY
"base64:rSBjiJiW+s4osvAP0benlWAKBbC1+yW64zkR5eV59rA="
APP_DEBUG
"true"
APP_URL
"http://localhost"
LOG_CHANNEL
"stack"
DB_CONNECTION
"mysql"
DB_HOST
"127.0.0.1"
DB_PORT
"3306"
DB_DATABASE
"iGateMini"
DB_USERNAME
"iGateMini"
DB_PASSWORD
"baofeng"
DB_CONNECTION2
"mysql"
DB_HOST2
"127.0.0.1"
DB_PORT2
"3306"
DB_DATABASE2
"CSN"
DB_USERNAME2
"csnuser"
DB_PASSWORD2
"quansheng"
BROADCAST_DRIVER
"log"
CACHE_DRIVER
"file"
QUEUE_CONNECTION
"sync"
SESSION_DRIVER
"file"
SESSION_LIFETIME
"120"
REDIS_HOST
"127.0.0.1"
REDIS_PASSWORD
"null"
REDIS_PORT
"6379"
MAIL_DRIVER
"smtp"
MAIL_HOST
"smtp.mailtrap.io"
MAIL_PORT
"2525"
MAIL_USERNAME
"null"
MAIL_PASSWORD
"null"
MAIL_ENCRYPTION
"null"
AWS_ACCESS_KEY_ID
""
AWS_SECRET_ACCESS_KEY
""
AWS_DEFAULT_REGION
"us-east-1"
AWS_BUCKET
""
PUSHER_APP_ID
""
PUSHER_APP_KEY
""
PUSHER_APP_SECRET
""
PUSHER_APP_CLUSTER
"mt1"
MIX_PUSHER_APP_KEY
""
MIX_PUSHER_APP_CLUSTER
"mt1"
0. Whoops\Handler\PrettyPageHandler