*/ protected function handleDispatcherResponse($routeInfo) { switch ($routeInfo[0]) { case Dispatcher::NOT_FOUND: throw new NotFoundHttpException; case Dispatcher::METHOD_NOT_ALLOWED: throw new MethodNotAllowedHttpException($routeInfo[1]); case Dispatcher::FOUND: return $this->handleFoundRoute($routeInfo); } if (isset($this->router->getRoutes()[$method.$pathInfo])) { return $this->handleFoundRoute([true, $this->router->getRoutes()[$method.$pathInfo]['action'], []]); } return $this->handleDispatcherResponse( $this->createDispatcher()->dispatch($method, $pathInfo) ); }); } catch (Throwable $e) { return $this->prepareResponse($this->sendExceptionToHandler($e)); } */ protected function prepareDestination(BaseClosure $destination) { return function ($passable) use ($destination) { try { return $destination($passable); } catch (Throwable $e) { return $this->handleException($passable, $e); } }; } if ($country_code) { app()->setLocale($country_code); }else{ app()->setLocale('zh-CN'); } return $next($request); }} // since the object we're given was already a fully instantiated object. $parameters = [$passable, $stack]; } $carry = method_exists($pipe, $this->method) ? $pipe->{$this->method}(...$parameters) : $pipe(...$parameters); return $this->handleCarry($carry); } catch (Throwable $e) { return $this->handleException($passable, $e); return function ($stack, $pipe) { return function ($passable) use ($stack, $pipe) { try { $slice = parent::carry(); return ($slice($stack, $pipe))($passable); } catch (Throwable $e) { return $this->handleException($passable, $e); } }; }; { $pipeline = array_reduce( array_reverse($this->pipes()), $this->carry(), $this->prepareDestination($destination) ); return $pipeline($this->passable); } /** * Run the pipeline and return the result. * { if (count($middleware) > 0 && ! $this->shouldSkipMiddleware()) { return (new Pipeline($this)) ->send($this->make('request')) ->through($middleware) ->then($then); } return $then($this->make('request')); } } return $this->handleDispatcherResponse( $this->createDispatcher()->dispatch($method, $pathInfo) ); }); } catch (Throwable $e) { return $this->prepareResponse($this->sendExceptionToHandler($e)); } } } } public function directDispatch($request = null) { return parent::dispatch($request); }} try { $this->boot(); $response = $dingoRequest->handle($this['request'], function($request) { // 当api路由找不到时 return $this->directDispatch($request); }); // 统一http响应状态码 $statusCode = $response->getStatusCode(); if ($statusCode != 200 && $statusCode != 401) { $response->setStatusCode(200); $this->exception->report($exception); return $this->exception->handle($exception); } return $next($request); } /** * Send the request through the Dingo router. * try { $this->boot(); $response = $dingoRequest->handle($this['request'], function($request) { // 当api路由找不到时 return $this->directDispatch($request); }); // 统一http响应状态码 $statusCode = $response->getStatusCode(); if ($statusCode != 200 && $statusCode != 401) { $response->setStatusCode(200); } * @param \Symfony\Component\HttpFoundation\Request|null $request * @return void */ public function run($request = null) { $response = $this->dispatch($request); if ($response instanceof SymfonyResponse) { $response->send(); } else { echo (string) $response;| the client's browser allowing them to enjoy the creative| and wonderful application we have prepared for them.|*/$app->run();// 结束分析# $xhprof_data = xhprof_disable();# $XHPROF_ROOT = realpath(dirname(__FILE__) .'/..');# include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_lib.php";|
NotFoundHttpException
|
|---|
Symfony\Component\HttpKernel\Exception\NotFoundHttpException:
at /www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:233
at Laravel\Lumen\Application->handleDispatcherResponse()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:173)
at Laravel\Lumen\Application->Laravel\Lumen\Concerns\{closure}()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php:48)
at Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}()
(/www/wwwroot/ecshopx/api/app/Http/Middleware/SetLocaleMiddleware.php:24)
at App\Http\Middleware\SetLocaleMiddleware->handle()
(/www/wwwroot/ecshopx/api/vendor/illuminate/pipeline/Pipeline.php:167)
at Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Routing/Pipeline.php:30)
at Laravel\Lumen\Routing\Pipeline->Laravel\Lumen\Routing\{closure}()
(/www/wwwroot/ecshopx/api/vendor/illuminate/pipeline/Pipeline.php:103)
at Illuminate\Pipeline\Pipeline->then()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:426)
at Laravel\Lumen\Application->sendThroughPipeline()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:175)
at Laravel\Lumen\Application->dispatch()
(/www/wwwroot/ecshopx/api/app/AppKernel.php:73)
at AppKernel->directDispatch()
(/www/wwwroot/ecshopx/api/app/AppKernel.php:55)
at AppKernel->{closure}()
(/www/wwwroot/ecshopx/api/vendor/dingo/api/src/Http/Middleware/Request.php:111)
at Dingo\Api\Http\Middleware\Request->handle()
(/www/wwwroot/ecshopx/api/app/AppKernel.php:56)
at AppKernel->dispatch()
(/www/wwwroot/ecshopx/api/vendor/laravel/lumen-framework/src/Concerns/RoutesRequests.php:112)
at Laravel\Lumen\Application->run()
(/www/wwwroot/ecshopx/api/public/index.php:31)
|