Dingo\Api\Routing\Router::dispatch PHP Method

dispatch() public method

Dispatch a request via the adapter.
public dispatch ( Dingo\Api\Http\Request $request ) : Response
$request Dingo\Api\Http\Request
return Dingo\Api\Http\Response
    public function dispatch(Request $request)
    {
        $this->currentRoute = null;
        $this->container->instance(Request::class, $request);
        $this->routesDispatched++;
        try {
            $response = $this->adapter->dispatch($request, $request->version());
            if (property_exists($response, 'exception') && $response->exception instanceof Exception) {
                throw $response->exception;
            }
        } catch (Exception $exception) {
            if ($request instanceof InternalRequest) {
                throw $exception;
            }
            $this->exception->report($exception);
            $response = $this->exception->handle($exception);
        }
        return $this->prepareResponse($response, $request, $request->format());
    }

Usage Example

Example #1
0
 /**
  * Send the request through the Dingo router.
  *
  * @param \Dingo\Api\Http\Request $request
  *
  * @return \Dingo\Api\Http\Response
  */
 protected function sendRequestThroughRouter(HttpRequest $request)
 {
     $this->app->instance('request', $request);
     return (new Pipeline($this->app))->send($request)->through($this->middleware)->then(function ($request) {
         return $this->router->dispatch($request);
     });
 }
All Usage Examples Of Dingo\Api\Routing\Router::dispatch