. * * @link https://www.librenms.org * * @copyright 2019 Tony Murray * @author Tony Murray */ namespace LibreNMS\Exceptions; use LibreNMS\Interfaces\Exceptions\UpgradeableException; class DuskUnsafeException extends \Exception implements UpgradeableException { /** * Try to convert the given Exception to this exception * * @param \Exception $exception * @return static */ public static function upgrade($exception) { return $exception->getMessage() == 'It is unsafe to run Dusk in production.' ? new static($exception->getMessage(), $exception->getCode(), $exception) : null; } /** * Render the exception into an HTTP or JSON response. * * @return \Illuminate\Http\Response|\Symfony\Component\HttpFoundation\Response */ public function render(\Illuminate\Http\Request $request) { $title = trans('exceptions.dusk_unsafe.title'); $message = trans('exceptions.dusk_unsafe.message', ['command' => './scripts/composer_wrapper.php install --no-dev']); return $request->wantsJson() ? response()->json([ 'status' => 'error', 'message' => "$title: $message", ]) : response()->view('errors.generic', [ 'title' => $title, 'content' => $message, ]); } }