protected function handleRequest($request, $respondent)
    {
        try {
            $this->app->instance('respondent', $respondent);

            $request->enableHttpMethodParameterOverride();

            $response = $this->sendRequestThroughRouter($request);
        } catch (Exception $e) {
            $this->reportException($e);

            $response = $this->handleException($request, $e);
        } catch (Throwable $e) {
            $this->reportException($e = new FatalThrowableError($e));

            $response = $this->handleException($request, $e);
        }

        $this->app->forgetInstance('respondent');

        return $response;
    }