class JsonHttpErrorHandler extends HttpErrorHandler
An alternative default HTTP error handler which will render errors as JSON messages instead of HTML pages.
In Dev mode, exceptions thrown by the server code will be rendered in JSON messages. In Prod mode, they will not be rendered.
You could override how exceptions are rendered in Dev mode by extending this class and overriding the formatDevServerErrorException method.
- Source
- HttpErrorHandler.scala
- Alphabetic
- By Inheritance
- JsonHttpErrorHandler
- HttpErrorHandler
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new JsonHttpErrorHandler(environment: Environment, optionalSourceMapper: OptionalSourceMapper)
- Annotations
- @Inject()
- new JsonHttpErrorHandler(environment: Environment, sourceMapper: Option[SourceMapper] = None)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def devServerError(request: RequestHeader, exception: UsefulException): JsValue
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fatalErrorJson(request: RequestHeader, exception: Throwable): JsValue
Invoked when handling a server error with this error handler failed.
Invoked when handling a server error with this error handler failed.
As a last resort this method allows you to return a (simple) error message that will be send along with a "500 Internal Server Error" response. It's highly recommended to just return a simple JsonNode, without doing any fancy processing inside the method (like accessing files,...) that could throw exceptions. This is your last chance to send a meaningful error message when everything else failed.
- request
The request that triggered the server error.
- exception
The server error.
- returns
An error JSON which will be send as last resort in case handling a server error with this error handler failed.
- Attributes
- protected
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def formatDevServerErrorException(exception: Throwable): JsValue
Format a Throwable as a JSON value.
Format a Throwable as a JSON value.
Override this method if you want to change how exceptions are rendered in Dev mode.
- Attributes
- protected
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def logServerError(request: RequestHeader, usefulException: UsefulException): Unit
Responsible for logging server errors.
Responsible for logging server errors.
This can be overridden to add additional logging information, eg. the id of the authenticated user.
- request
The request that triggered the server error.
- usefulException
The server error.
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def onClientError(request: RequestHeader, statusCode: Int, message: String): Future[Result]
Invoked when a client error occurs, that is, an error in the 4xx series.
Invoked when a client error occurs, that is, an error in the 4xx series.
- request
The request that caused the client error.
- statusCode
The error status code. Must be greater or equal to 400, and less than 500.
- message
The error message.
- Definition Classes
- JsonHttpErrorHandler → HttpErrorHandler
- def onServerError(request: RequestHeader, exception: Throwable): Future[Result]
Invoked when a server error occurs.
Invoked when a server error occurs.
- request
The request that triggered the server error.
- exception
The server error.
- Definition Classes
- JsonHttpErrorHandler → HttpErrorHandler
- def prodServerError(request: RequestHeader, exception: UsefulException): JsValue
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()