Packages

c

play.api.http

JsonHttpErrorHandler

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
Linear Supertypes
HttpErrorHandler, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JsonHttpErrorHandler
  2. HttpErrorHandler
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new JsonHttpErrorHandler(environment: Environment, optionalSourceMapper: OptionalSourceMapper)
    Annotations
    @Inject()
  2. new JsonHttpErrorHandler(environment: Environment, sourceMapper: Option[SourceMapper] = None)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  6. def devServerError(request: RequestHeader, exception: UsefulException): JsValue
    Attributes
    protected
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. 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
  10. 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
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. 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
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  18. 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
    JsonHttpErrorHandlerHttpErrorHandler
  19. 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
    JsonHttpErrorHandlerHttpErrorHandler
  20. def prodServerError(request: RequestHeader, exception: UsefulException): JsValue
    Attributes
    protected
  21. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from HttpErrorHandler

Inherited from AnyRef

Inherited from Any

Ungrouped