/var
/www
/html
/sti
/storage
/framework
/views
/23890aef5f1f8fc50d42a185fb897dc5f462040b.php
<?php if (\Illuminate\Support\Facades\Blade::check('langrtl')): ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>" dir="rtl">
<?php else: ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>">
<?php endif; ?>
<head>
<meta charset="utf-8">
<meta name="csrf-token" content="<?php echo e(csrf_token()); ?>">
<?php echo $__env->yieldPushContent('before-styles'); ?>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Our Teaching Staff | STI Myanmar University</title>
<meta name="description" content="STIMU is a local higher education institution mandated to provide higher education in Myanmar. Its governance as well as management, teaching arrangements and expertise is designed towards attaining a world-class organization. Contact us for more 09 9551234469.
">
<meta name="author" content="STI Myanmar University">
<meta name="keywords" content="Best MBA In Myanmar, Higher Education In Myanmar, Top Technology University In Yangon Mandalay, Best Business Management Program In Yangon Mandalay, Best Finance And Accounting Program In Myanmar, Best Private University In Myanmar">
<link rel="canonical" href="https://www.stiedu.net/teacher/<?php echo e($teacher->id); ?>"/>
<meta property="og:title" content="STI Myanmar Universtiy"/>
<meta property="og:type" content="image.png"/>
<meta property="og:url" content="https://stiedu.net/"/>
<meta property="og:image" content="<?php echo e(asset('img/logo-primary.png')); ?>" alt="sti myanmar university"/>
<meta name="google-site-verification" content="NQn7UILuMTwM5XugC5uKBXBCrgxsFu1s0H-KEL5p4U" />
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<?php echo $__env->yieldContent('meta'); ?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Favicon -->
<link rel="shortcut icon" type="image/x-icon" href="<?php echo e(asset('img/favicon.png')); ?>">
<!-- Normalize CSS -->
<link rel="stylesheet" href="<?php echo e(asset('css/normalize.css')); ?>">
<!-- Main CSS -->
Arguments
"Trying to get property 'id' of non-object (View: /var/www/html/sti/resources/views/frontend/pages/teacher_profile.blade.php)"
/var
/www
/html
/sti
/storage
/framework
/views
/23890aef5f1f8fc50d42a185fb897dc5f462040b.php
<?php if (\Illuminate\Support\Facades\Blade::check('langrtl')): ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>" dir="rtl">
<?php else: ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>">
<?php endif; ?>
<head>
<meta charset="utf-8">
<meta name="csrf-token" content="<?php echo e(csrf_token()); ?>">
<?php echo $__env->yieldPushContent('before-styles'); ?>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Our Teaching Staff | STI Myanmar University</title>
<meta name="description" content="STIMU is a local higher education institution mandated to provide higher education in Myanmar. Its governance as well as management, teaching arrangements and expertise is designed towards attaining a world-class organization. Contact us for more 09 9551234469.
">
<meta name="author" content="STI Myanmar University">
<meta name="keywords" content="Best MBA In Myanmar, Higher Education In Myanmar, Top Technology University In Yangon Mandalay, Best Business Management Program In Yangon Mandalay, Best Finance And Accounting Program In Myanmar, Best Private University In Myanmar">
<link rel="canonical" href="https://www.stiedu.net/teacher/<?php echo e($teacher->id); ?>"/>
<meta property="og:title" content="STI Myanmar Universtiy"/>
<meta property="og:type" content="image.png"/>
<meta property="og:url" content="https://stiedu.net/"/>
<meta property="og:image" content="<?php echo e(asset('img/logo-primary.png')); ?>" alt="sti myanmar university"/>
<meta name="google-site-verification" content="NQn7UILuMTwM5XugC5uKBXBCrgxsFu1s0H-KEL5p4U" />
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<?php echo $__env->yieldContent('meta'); ?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Favicon -->
<link rel="shortcut icon" type="image/x-icon" href="<?php echo e(asset('img/favicon.png')); ?>">
<!-- Normalize CSS -->
<link rel="stylesheet" href="<?php echo e(asset('css/normalize.css')); ?>">
<!-- Main CSS -->
Arguments
"Trying to get property 'id' of non-object"
/var
/www
/html
/sti
/storage
/framework
/views
/23890aef5f1f8fc50d42a185fb897dc5f462040b.php
<?php if (\Illuminate\Support\Facades\Blade::check('langrtl')): ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>" dir="rtl">
<?php else: ?>
<html lang="<?php echo e(str_replace('_', '-', app()->getLocale())); ?>">
<?php endif; ?>
<head>
<meta charset="utf-8">
<meta name="csrf-token" content="<?php echo e(csrf_token()); ?>">
<?php echo $__env->yieldPushContent('before-styles'); ?>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Our Teaching Staff | STI Myanmar University</title>
<meta name="description" content="STIMU is a local higher education institution mandated to provide higher education in Myanmar. Its governance as well as management, teaching arrangements and expertise is designed towards attaining a world-class organization. Contact us for more 09 9551234469.
">
<meta name="author" content="STI Myanmar University">
<meta name="keywords" content="Best MBA In Myanmar, Higher Education In Myanmar, Top Technology University In Yangon Mandalay, Best Business Management Program In Yangon Mandalay, Best Finance And Accounting Program In Myanmar, Best Private University In Myanmar">
<link rel="canonical" href="https://www.stiedu.net/teacher/<?php echo e($teacher->id); ?>"/>
<meta property="og:title" content="STI Myanmar Universtiy"/>
<meta property="og:type" content="image.png"/>
<meta property="og:url" content="https://stiedu.net/"/>
<meta property="og:image" content="<?php echo e(asset('img/logo-primary.png')); ?>" alt="sti myanmar university"/>
<meta name="google-site-verification" content="NQn7UILuMTwM5XugC5uKBXBCrgxsFu1s0H-KEL5p4U" />
<meta name="robots" content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1" />
<?php echo $__env->yieldContent('meta'); ?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Favicon -->
<link rel="shortcut icon" type="image/x-icon" href="<?php echo e(asset('img/favicon.png')); ?>">
<!-- Normalize CSS -->
<link rel="stylesheet" href="<?php echo e(asset('css/normalize.css')); ?>">
<!-- Main CSS -->
Arguments
8
"Trying to get property 'id' of non-object"
"/var/www/html/sti/storage/framework/views/23890aef5f1f8fc50d42a185fb897dc5f462040b.php"
21
array:19 [
"__path" => "/var/www/html/sti/storage/framework/views/23890aef5f1f8fc50d42a185fb897dc5f462040b.php"
"__data" => array:16 [
"__env" => Factory {#149}
"app" => Application {#4}
"errors" => ViewErrorBag {#496}
"teacher" => null
"logged_in_user" => null
"wallpapers" => Collection {#535}
"uob_courses" => Collection {#542}
"teachers" => Collection {#565}
"newsfeeds" => Collection {#530}
"events" => Collection {#562}
"publications" => Collection {#579}
"uob_business" => Collection {#528}
"uob_engineering" => Collection {#550}
"uob_health" => Collection {#554}
"uob_education" => Collection {#539}
"success_s" => Collection {#586}
]
"obLevel" => 1
"__env" => Factory {#149}
"app" => Application {#4}
"errors" => ViewErrorBag {#496}
"teacher" => null
"logged_in_user" => null
"wallpapers" => Collection {#535}
"uob_courses" => Collection {#542}
"teachers" => Collection {#565}
"newsfeeds" => Collection {#530}
"events" => Collection {#562}
"publications" => Collection {#579}
"uob_business" => Collection {#528}
"uob_engineering" => Collection {#550}
"uob_health" => Collection {#554}
"uob_education" => Collection {#539}
"success_s" => Collection {#586}
]
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/View
/Engines
/PhpEngine.php
/**
* Get the evaluated contents of the view at the given path.
*
* @param string $__path
* @param array $__data
* @return string
*/
protected function evaluatePath($__path, $__data)
{
$obLevel = ob_get_level();
ob_start();
extract($__data, EXTR_SKIP);
// We'll evaluate the contents of the view inside a try/catch block so we can
// flush out any stray output that might get out before an error occurs or
// an exception is thrown. This prevents any partial views from leaking.
try {
include $__path;
} catch (Exception $e) {
$this->handleViewException($e, $obLevel);
} catch (Throwable $e) {
$this->handleViewException(new FatalThrowableError($e), $obLevel);
}
return ltrim(ob_get_clean());
}
/**
* Handle a view exception.
*
* @param \Exception $e
* @param int $obLevel
* @return void
*
* @throws \Exception
*/
protected function handleViewException(Exception $e, $obLevel)
{
Arguments
"/var/www/html/sti/storage/framework/views/23890aef5f1f8fc50d42a185fb897dc5f462040b.php"
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/View
/Engines
/CompilerEngine.php
* @param array $data
* @return string
*/
public function get($path, array $data = [])
{
$this->lastCompiled[] = $path;
// If this given view has expired, which means it has simply been edited since
// it was last compiled, we will re-compile the views so we can evaluate a
// fresh copy of the view. We'll pass the compiler the path of the view.
if ($this->compiler->isExpired($path)) {
$this->compiler->compile($path);
}
$compiled = $this->compiler->getCompiledPath($path);
// Once we have the path to the compiled file, we will evaluate the paths with
// typical PHP just like any other templates. We also keep a stack of views
// which have been rendered for right exception messages to be generated.
$results = $this->evaluatePath($compiled, $data);
array_pop($this->lastCompiled);
return $results;
}
/**
* Handle a view exception.
*
* @param \Exception $e
* @param int $obLevel
* @return void
*
* @throws \Exception
*/
protected function handleViewException(Exception $e, $obLevel)
{
$e = new ErrorException($this->getMessage($e), 0, 1, $e->getFile(), $e->getLine(), $e);
parent::handleViewException($e, $obLevel);
Arguments
"/var/www/html/sti/storage/framework/views/23890aef5f1f8fc50d42a185fb897dc5f462040b.php"
array:16 [
"__env" => Factory {#149}
"app" => Application {#4}
"errors" => ViewErrorBag {#496}
"teacher" => null
"logged_in_user" => null
"wallpapers" => Collection {#535}
"uob_courses" => Collection {#542}
"teachers" => Collection {#565}
"newsfeeds" => Collection {#530}
"events" => Collection {#562}
"publications" => Collection {#579}
"uob_business" => Collection {#528}
"uob_engineering" => Collection {#550}
"uob_health" => Collection {#554}
"uob_education" => Collection {#539}
"success_s" => Collection {#586}
]
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/View
/View.php
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
* Get the data bound to the view instance.
*
* @return array
*/
protected function gatherData()
{
$data = array_merge($this->factory->getShared(), $this->data);
foreach ($data as $key => $value) {
if ($value instanceof Renderable) {
$data[$key] = $value->render();
}
}
return $data;
}
Arguments
"/var/www/html/sti/resources/views/frontend/pages/teacher_profile.blade.php"
array:16 [
"__env" => Factory {#149}
"app" => Application {#4}
"errors" => ViewErrorBag {#496}
"teacher" => null
"logged_in_user" => null
"wallpapers" => Collection {#535}
"uob_courses" => Collection {#542}
"teachers" => Collection {#565}
"newsfeeds" => Collection {#530}
"events" => Collection {#562}
"publications" => Collection {#579}
"uob_business" => Collection {#528}
"uob_engineering" => Collection {#550}
"uob_health" => Collection {#554}
"uob_education" => Collection {#539}
"success_s" => Collection {#586}
]
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/View
/View.php
throw $e;
}
}
/**
* Get the contents of the view instance.
*
* @return string
*/
protected function renderContents()
{
// We will keep track of the amount of views being rendered so we can flush
// the section after the complete rendering operation is done. This will
// clear out the sections for any separate views that may be rendered.
$this->factory->incrementRender();
$this->factory->callComposer($this);
$contents = $this->getContents();
// Once we've finished rendering the view, we'll decrement the render count
// so that each sections get flushed out next time a view is created and
// no old sections are staying around in the memory of an environment.
$this->factory->decrementRender();
return $contents;
}
/**
* Get the evaluated contents of the view.
*
* @return string
*/
protected function getContents()
{
return $this->engine->get($this->path, $this->gatherData());
}
/**
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/View
/View.php
$this->view = $view;
$this->path = $path;
$this->engine = $engine;
$this->factory = $factory;
$this->data = $data instanceof Arrayable ? $data->toArray() : (array) $data;
}
/**
* Get the string contents of the view.
*
* @param callable|null $callback
* @return array|string
*
* @throws \Throwable
*/
public function render(callable $callback = null)
{
try {
$contents = $this->renderContents();
$response = isset($callback) ? call_user_func($callback, $this, $contents) : null;
// Once we have the contents of the view, we will flush the sections if we are
// done rendering all views so that there is nothing left hanging over when
// another view gets rendered in the future by the application developer.
$this->factory->flushStateIfDoneRendering();
return ! is_null($response) ? $response : $contents;
} catch (Exception $e) {
$this->factory->flushState();
throw $e;
} catch (Throwable $e) {
$this->factory->flushState();
throw $e;
}
}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Http
/Response.php
* @return $this
*/
public function setContent($content)
{
$this->original = $content;
// If the content is "JSONable" we will set the appropriate header and convert
// the content to JSON. This is useful when returning something like models
// from routes that will be automatically transformed to their JSON form.
if ($this->shouldBeJson($content)) {
$this->header('Content-Type', 'application/json');
$content = $this->morphToJson($content);
}
// If this content implements the "Renderable" interface then we will call the
// render method on the object so we will avoid any "__toString" exceptions
// that might be thrown and have their errors obscured by PHP's handling.
elseif ($content instanceof Renderable) {
$content = $content->render();
}
parent::setContent($content);
return $this;
}
/**
* Determine if the given content should be turned into JSON.
*
* @param mixed $content
* @return bool
*/
protected function shouldBeJson($content)
{
return $content instanceof Arrayable ||
$content instanceof Jsonable ||
$content instanceof ArrayObject ||
$content instanceof JsonSerializable ||
is_array($content);
/var
/www
/html
/sti
/vendor
/symfony
/http-foundation
/Response.php
500 => 'Internal Server Error',
501 => 'Not Implemented',
502 => 'Bad Gateway',
503 => 'Service Unavailable',
504 => 'Gateway Timeout',
505 => 'HTTP Version Not Supported',
506 => 'Variant Also Negotiates', // RFC2295
507 => 'Insufficient Storage', // RFC4918
508 => 'Loop Detected', // RFC5842
510 => 'Not Extended', // RFC2774
511 => 'Network Authentication Required', // RFC6585
];
/**
* @throws \InvalidArgumentException When the HTTP status code is not valid
*/
public function __construct($content = '', int $status = 200, array $headers = [])
{
$this->headers = new ResponseHeaderBag($headers);
$this->setContent($content);
$this->setStatusCode($status);
$this->setProtocolVersion('1.0');
}
/**
* Factory method for chainability.
*
* Example:
*
* return Response::create($body, 200)
* ->setSharedMaxAge(300);
*
* @param mixed $content The response content, see setContent()
* @param int $status The response status code
* @param array $headers An array of response headers
*
* @return static
*/
public static function create($content = '', $status = 200, $headers = [])
{
Arguments
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*/
public static function toResponse($request, $response)
{
if ($response instanceof Responsable) {
$response = $response->toResponse($request);
}
if ($response instanceof PsrResponseInterface) {
$response = (new HttpFoundationFactory)->createResponse($response);
} elseif ($response instanceof Model && $response->wasRecentlyCreated) {
$response = new JsonResponse($response, 201);
} elseif (! $response instanceof SymfonyResponse &&
($response instanceof Arrayable ||
$response instanceof Jsonable ||
$response instanceof ArrayObject ||
$response instanceof JsonSerializable ||
is_array($response))) {
$response = new JsonResponse($response);
} elseif (! $response instanceof SymfonyResponse) {
$response = new Response($response);
}
if ($response->getStatusCode() === Response::HTTP_NOT_MODIFIED) {
$response->setNotModified();
}
return $response->prepare($request);
}
/**
* Substitute the route bindings onto the route.
*
* @param \Illuminate\Routing\Route $route
* @return \Illuminate\Routing\Route
*
* @throws \Illuminate\Database\Eloquent\ModelNotFoundException
*/
public function substituteBindings($route)
{
foreach ($route->parameters() as $key => $value) {
Arguments
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* Sort the given middleware by priority.
*
* @param \Illuminate\Support\Collection $middlewares
* @return array
*/
protected function sortMiddleware(Collection $middlewares)
{
return (new SortedMiddleware($this->middlewarePriority, $middlewares))->all();
}
/**
* Create a response instance from the given value.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param mixed $response
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public function prepareResponse($request, $response)
{
return static::toResponse($request, $response);
}
/**
* Static version of prepareResponse.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* @param mixed $response
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
public static function toResponse($request, $response)
{
if ($response instanceof Responsable) {
$response = $response->toResponse($request);
}
if ($response instanceof PsrResponseInterface) {
$response = (new HttpFoundationFactory)->createResponse($response);
} elseif ($response instanceof Model && $response->wasRecentlyCreated) {
$response = new JsonResponse($response, 201);
} elseif (! $response instanceof SymfonyResponse &&
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
View {#523}
/var
/www
/html
/sti
/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);
}
/**
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
View {#523}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* 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 {
$slice = parent::carry();
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/app
/Http
/Middleware
/ToBeLoggedOut.php
* @param $request
* @param Closure $next
*
* @return \Illuminate\Http\RedirectResponse|mixed
*/
public function handle($request, Closure $next)
{
// If the user is to be logged out
if ($request->user() && $request->user()->to_be_logged_out) {
// Make sure they can log back in next session
$request->user()->update(['to_be_logged_out' => false]);
// Kill the current session and force back to the login screen
session()->flush();
auth()->logout();
return redirect()->route('frontend.auth.login');
}
return $next($request);
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#432 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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);
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#473 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/app
/Http
/Middleware
/LocaleMiddleware.php
// setLocale for php. Enables ->formatLocalized() with localized values for dates
setlocale(LC_TIME, config('locale.languages')[session()->get('locale')][1]);
// setLocale to use Carbon source locales. Enables diffForHumans() localized
Carbon::setLocale(config('locale.languages')[session()->get('locale')][0]);
/*
* Set the session variable for whether or not the app is using RTL support
* for the current language being selected
* For use in the blade directive in BladeServiceProvider
*/
if (config('locale.languages')[session()->get('locale')][2]) {
session(['lang-rtl' => true]);
} else {
session()->forget('lang-rtl');
}
}
return $next($request);
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#474 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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']);
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#475 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Session
/Middleware
/AuthenticateSession.php
*
* @param \Illuminate\Contracts\Auth\Factory $auth
* @return void
*/
public function __construct(AuthFactory $auth)
{
$this->auth = $auth;
}
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (! $request->user() || ! $request->session()) {
return $next($request);
}
if ($this->auth->viaRemember()) {
$passwordHash = explode('|', $request->cookies->get($this->auth->getRecallerName()))[2];
if ($passwordHash != $request->user()->getAuthPassword()) {
$this->logout($request);
}
}
if (! $request->session()->has('password_hash')) {
$this->storePasswordHashInSession($request);
}
if ($request->session()->get('password_hash') !== $request->user()->getAuthPassword()) {
$this->logout($request);
}
return tap($next($request), function () use ($request) {
$this->storePasswordHashInSession($request);
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#476 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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);
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#477 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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)
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#478 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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;
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#479 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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 {
$request->cookies->set($key, $this->decryptCookie($key, $cookie));
} catch (DecryptException $e) {
$request->cookies->set($key, null);
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#480 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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
*/
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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.
*
Arguments
Closure($request) {#431 …6}
/var
/www
/html
/sti
/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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
protected function runRoute(Request $request, Route $route)
{
$request->setRouteResolver(function () use ($route) {
return $route;
});
$this->events->dispatch(new Events\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)
Arguments
Route {#317}
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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.
*
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Route {#317}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Router.php
* @return \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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 \Illuminate\Http\Response|\Illuminate\Http\JsonResponse
*/
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)
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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.
*
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
use Symfony\Component\Debug\Exception\FatalThrowableError;
/**
* This extended pipeline catches any exceptions that occur during each slice.
*
* The exceptions are converted to HTTP responses for proper middleware handling.
*/
class Pipeline extends BasePipeline
{
/**
* 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 {
$slice = parent::carry();
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/vendor
/barryvdh
/laravel-debugbar
/src
/Middleware
/InjectDebugbar.php
* @param LaravelDebugbar $debugbar
*/
public function __construct(Container $container, LaravelDebugbar $debugbar)
{
$this->container = $container;
$this->debugbar = $debugbar;
$this->except = config('debugbar.except') ?: [];
}
/**
* Handle an incoming request.
*
* @param Request $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (!$this->debugbar->isEnabled() || $this->inExceptArray($request)) {
return $next($request);
}
$this->debugbar->boot();
try {
/** @var \Illuminate\Http\Response $response */
$response = $next($request);
} catch (Exception $e) {
$response = $this->handleException($request, $e);
} catch (Error $error) {
$e = new FatalThrowableError($error);
$response = $this->handleException($request, $e);
}
// Modify the response to add the Debugbar
$this->debugbar->modifyResponse($request, $response);
return $response;
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#283 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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;
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#284 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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);
}
}
/**
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#286 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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);
}
}
/**
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#287 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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':
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#288 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/app
/Http
/Middleware
/CheckForDemoMode.php
*/
class CheckForDemoMode
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
if (config('app.demo')) {
if ($request->isMethod('post') || $request->isMethod('patch') || $request->isMethod('delete')) {
abort_if($request->path() !== 'login', Response::HTTP_UNAUTHORIZED);
}
}
return $next($request);
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#289 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Middleware
/CheckForMaintenanceMode.php
*
* @throws \Symfony\Component\HttpKernel\Exception\HttpException
*/
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;
}
}
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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];
}
$response = method_exists($pipe, $this->method)
? $pipe->{$this->method}(...$parameters)
: $pipe(...$parameters);
return $response instanceof Responsable
? $response->toResponse($this->getContainer()->make(Request::class))
: $response;
};
};
}
/**
* Parse full pipe string to get name and parameters.
*
* @param string $pipe
* @return array
*/
protected function parsePipeString($pipe)
{
[$name, $parameters] = array_pad(explode(':', $pipe, 2), 2, []);
if (is_string($parameters)) {
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
Closure($passable) {#290 …6}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Routing
/Pipeline.php
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 {
$slice = parent::carry();
$callable = $slice($stack, $pipe);
return $callable($passable);
} catch (Exception $e) {
return $this->handleException($passable, $e);
} catch (Throwable $e) {
return $this->handleException($passable, new FatalThrowableError($e));
}
};
};
}
/**
* Handle the given exception.
*
* @param mixed $passable
* @param \Exception $e
* @return mixed
*
* @throws \Exception
*/
protected function handleException($passable, Exception $e)
{
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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
*/
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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()
Arguments
Closure($request) {#45 …5}
/var
/www
/html
/sti
/vendor
/laravel
/framework
/src
/Illuminate
/Foundation
/Http
/Kernel.php
$router->middlewareGroup($key, $middleware);
}
foreach ($this->routeMiddleware as $key => $middleware) {
$router->aliasMiddleware($key, $middleware);
}
}
/**
* 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 Events\RequestHandled($request, $response)
);
return $response;
}
/**
* Send the given request through the middleware / router.
*
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}
/var
/www
/html
/sti
/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);
Arguments
Request {#44
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#421 …6}
#routeResolver: Closure() {#414 …5}
+attributes: ParameterBag {#46}
+request: ParameterBag {#52}
+query: ParameterBag {#52}
+server: ServerBag {#48}
+files: FileBag {#49}
+cookies: ParameterBag {#47}
+headers: HeaderBag {#50}
#content: null
#languages: null
#charsets: null
#encodings: null
#acceptableContentTypes: array:1 [
0 => "*/*"
]
#pathInfo: "/teacher/88"
#requestUri: "/teacher/88"
#baseUrl: ""
#basePath: null
#method: "GET"
#format: null
#session: Store {#207}
#locale: null
#defaultLocale: "en"
-isHostValid: true
-isForwardedValid: true
basePath: ""
format: "html"
}