Handler
class Handler implements ExceptionHandler
Traits
Constants
| REPORTED_EXCEPTION_MAP_CONTEXT_KEY |
Context key for the per-request reported exception deduplication map. |
| AFTER_RESPONSE_CONTEXT_KEY |
Context key for after-response callbacks. |
| CURRENTLY_REPORTING_CONTEXT_KEY |
Context key for the exception currently being reported. |
Properties
| protected Throwable>> | $dontReport | A list of the exception types that are not reported. |
|
| protected ReportableHandler[] | $reportCallbacks | The callbacks that should be used during reporting. |
|
| protected array | $contextCallbacks | The callbacks that should be used to build exception context data. |
|
| protected Closure[] | $dontReportCallbacks | The callbacks that should be used to determine if an exception should not be reported. |
|
| protected Throwable>> | $dontRetry | A list of the exception types that should stop job retries. |
|
| protected Closure> | $dontRetryCallbacks | The callbacks that inspect exceptions to determine if they should stop job retries. |
|
| protected Closure[] | $throttleCallbacks | The callbacks that should be used to throttle reportable exceptions. |
|
| protected bool | $hashThrottleKeys | Indicate that throttle keys should be hashed. |
|
| protected Closure[] | $renderCallbacks | The callbacks that should be used during rendering. |
|
| protected null|callable | $shouldRenderJsonWhenCallback | The callback that determines if the exception handler response should be JSON. |
|
| protected null|callable | $finalizeResponseCallback | The callback that prepares responses to be returned to the browser. |
|
| protected Closure> | $exceptionMap | The registered exception mappings. |
|
| protected LogLevel::*> | $levels | A map of exceptions with their corresponding custom log levels. |
|
| protected RequestExceptionInterface>|Throwable>> | $internalDontReport | A list of the internal exception types that should not be reported. |
|
| protected array<int, string> | $dontFlash | A list of the inputs that are never flashed for validation exceptions. |
|
| protected bool | $withoutDuplicates | Indicate that an exception instance should only be reported once. |
Methods
Get the class name of the first parameter of the given Closure.
Get the class names of the first parameter of the given Closure, including union types.
Get the class names / types of the parameters of the given Closure.
Get the class names / types of the return type of the given Closure.
Register the exception handling callbacks for the application.
Register a reportable callback.
Register a renderable callback.
Indicate that the given exception type should not be reported.
Register a callback to determine if an exception should not be reported.
Indicate that the given exception type should not be reported.
Indicate that jobs should stop retrying for the given exception types.
Register a callback to determine if jobs should stop retrying for an exception.
Indicate that the given attributes should never be flashed to the session on validation errors.
Get the reported exception map for the current request.
Specify the callback that should be used to throttle reportable exceptions.
Remove the given exception class from the list of exceptions that should be ignored.
Get the default context variables for logging.
Register a closure that should be used to build exception context data.
Prepare the final, rendered response to be returned to the browser.
Register a callback to be called after an HTTP error response is rendered.
Get the callbacks that should be called after an HTTP error response is rendered.
Prepare the final, rendered response for an exception using the given callback.
Try to render a response from request and exception via render callbacks.
Convert an authentication exception into a response.
Create a response object from the given validation exception.
Convert a validation exception into a response.
Convert a validation exception into a JSON response.
Determine if the exception handler response should be JSON.
Register the callable that determines if the exception handler response should be JSON.
Render an exception to a string using the registered ExceptionRenderer.
Render an exception to a string using Symfony.
Render the given HttpException.
Register the error template hint paths.
Get the view used to render HTTP exceptions.
Map the given exception into a Hypervel response.
Prepare a JSON response for the given exception.
Do not report duplicate exceptions.
Create a new logger instance.
Details
in
ReflectsClosures at line 25
protected string
firstClosureParameterType(Closure $closure)
Get the class name of the first parameter of the given Closure.
in
ReflectsClosures at line 48
protected array
firstClosureParameterTypes(Closure $closure)
Get the class names of the first parameter of the given Closure, including union types.
in
ReflectsClosures at line 74
protected array
closureParameterTypes(Closure $closure)
Get the class names / types of the parameters of the given Closure.
in
ReflectsClosures at line 94
protected array
closureReturnTypes(Closure $closure)
Get the class names / types of the return type of the given Closure.
at line 215
__construct(Container $container)
Create a new exception handler instance.
at line 224
void
register()
Register the exception handling callbacks for the application.
at line 231
ReportableHandler
reportable(callable $reportUsing)
Register a reportable callback.
at line 245
Handler
renderable(callable $renderUsing)
Register a renderable callback.
at line 261
Handler
map(callable|string $from, Closure|string|null $to = null)
Register a new exception mapping.
at line 285
Handler
dontReport(array|string $exceptions)
Indicate that the given exception type should not be reported.
Alias of "ignore".
at line 295
Handler
dontReportWhen(callable $dontReportWhen)
Register a callback to determine if an exception should not be reported.
at line 309
Handler
ignore(array|string $exceptions)
Indicate that the given exception type should not be reported.
at line 324
Handler
dontRetry(array|string $exceptions)
Indicate that jobs should stop retrying for the given exception types.
Boot-only. The exception types persist on the shared handler and affect every subsequently failed job in the worker.
at line 343
Handler
dontRetryWhen(callable $dontRetryWhen)
Register a callback to determine if jobs should stop retrying for an exception.
Boot-only. The callback persists on the shared handler and is considered for every subsequently failed job in the worker.
at line 357
bool
shouldStopRetries(Throwable $e)
Determine if jobs should stop retrying for the given exception.
at line 414
Handler
dontFlash(array|string $attributes)
Indicate that the given attributes should never be flashed to the session on validation errors.
at line 429
Handler
level(string $type, string $level)
Set the log level for the given exception type.
at line 441
void
report(Throwable $e)
Report or log an exception.
at line 457
protected void
reportThrowable(Throwable $e)
Report error based on report method on exception or to logger.
at line 507
bool
isReporting(Throwable $e)
Determine if the given exception is being reported by this coroutine.
at line 519
protected void
reportedException(Throwable $e)
Mark the given exception as reported.
at line 527
protected bool
hasReportedException(Throwable $e)
Determine if the given exception has already been reported.
at line 535
protected WeakMap
reportedExceptionMap()
Get the reported exception map for the current request.
at line 550
bool
shouldReport(Throwable $e)
Determine if the exception should be reported.
at line 558
protected bool
shouldntReport(Throwable $e)
Determine if the exception is in the "do not report" list.
at line 621
Handler
throttleUsing(callable $throttleUsing)
Specify the callback that should be used to throttle reportable exceptions.
at line 635
Handler
stopIgnoring(array|string $exceptions)
Remove the given exception class from the list of exceptions that should be ignored.
at line 655
protected array
buildExceptionContext(Throwable $e)
Create the context array for logging the given exception.
at line 669
array
buildContextForException(Throwable $e)
Create the context for the given exception.
at line 677
protected array
exceptionContext(Throwable $e)
Get the default exception context variables for logging.
at line 695
protected array
context()
Get the default context variables for logging.
at line 709
Handler
buildContextUsing(Closure $contextCallback)
Register a closure that should be used to build exception context data.
at line 721
Response
render(Request $request, Throwable $e)
Render an exception into an HTTP response.
at line 754
protected Response
finalizeRenderedResponse(Request $request, Response $response, Throwable $e)
Prepare the final, rendered response to be returned to the browser.
at line 772
void
afterResponse(callable $callback)
Register a callback to be called after an HTTP error response is rendered.
at line 785
protected array
afterResponseCallbacks()
Get the callbacks that should be called after an HTTP error response is rendered.
at line 793
Handler
respondUsing(callable $callback)
Prepare the final, rendered response for an exception using the given callback.
at line 826
protected Throwable
mapException(Throwable $e)
Map the exception using a registered mapper if possible.
at line 846
protected Response|null
renderViaCallbacks(Request $request, Throwable $e)
Try to render a response from request and exception via render callbacks.
at line 864
protected Response|JsonResponse|RedirectResponse
renderExceptionResponse(Request $request, Throwable $e)
Render a default exception response if any.
at line 874
protected Response|JsonResponse|RedirectResponse
unauthenticated(Request $request, AuthenticationException $exception)
Convert an authentication exception into a response.
at line 892
protected Response
convertValidationExceptionToResponse(ValidationException $e, Request $request)
Create a response object from the given validation exception.
at line 906
protected RedirectResponse
invalid(Request $request, ValidationException $exception)
Convert a validation exception into a response.
at line 921
protected JsonResponse
invalidJson(Request $request, ValidationException $exception)
Convert a validation exception into a JSON response.
at line 932
protected bool
shouldReturnJson(Request $request, Throwable $e)
Determine if the exception handler response should be JSON.
at line 944
Handler
shouldRenderJsonWhen(callable $callback)
Register the callable that determines if the exception handler response should be JSON.
at line 954
protected Response|RedirectResponse
prepareResponse(Request $request, Throwable $e)
Prepare a response for the given exception.
at line 973
protected Response
convertExceptionToResponse(Throwable $e)
Create a Symfony response for the given exception.
at line 985
protected string
renderExceptionContent(Throwable $e)
Get the response content for the given exception.
at line 1006
protected string
renderExceptionWithCustomRenderer(Throwable $e)
Render an exception to a string using the registered ExceptionRenderer.
at line 1014
protected string
renderExceptionWithSymfony(Throwable $e, bool $debug)
Render an exception to a string using Symfony.
at line 1026
protected Response
renderHttpException(HttpExceptionInterface $e)
Render the given HttpException.
at line 1054
protected void
registerErrorViewPaths()
Register the error template hint paths.
at line 1062
protected string|null
getHttpExceptionView(HttpExceptionInterface $e)
Get the view used to render HTTP exceptions.
at line 1082
protected Response|RedirectResponse
toHypervelResponse(Response $response, Throwable $e)
Map the given exception into a Hypervel response.
at line 1104
protected JsonResponse
prepareJsonResponse(Request $request, Throwable $e)
Prepare a JSON response for the given exception.
at line 1117
protected array
convertExceptionToArray(Throwable $e)
Convert the given exception to an array.
at line 1133
void
renderForConsole(OutputInterface $output, Throwable $e)
Render an exception to the console.
at line 1158
Handler
dontReportDuplicates()
Do not report duplicate exceptions.
at line 1170
protected bool
isHttpException(Throwable $e)
Determine if the given exception is an HTTP exception.
at line 1180
protected string
mapLogLevel(Throwable $e)
Map the exception to a log level.
at line 1192
protected LoggerInterface
newLogger()
Create a new logger instance.