EezoException
io.eezo.http.EezoException
sealed abstract class EezoException(message: String) extends RuntimeException
eezo's HTTP failure channel.
The set is sealed and lives in modules/http rather than in core, which is what makes it impossible for a domain module to throw one: db depends on core and never on http. The module boundary enforces what a convention would only ask for.
No case carries a status, and none carries headers. Sealing makes the mapping at the boundary an exhaustive match with no fallback, the Allow header lives in the 405 arm, and an open base carrying a status is exactly the mechanism by which an HTTP status reaches code that should not know one. See docs/adr/0001-http-errors-live-in-http-and-carry-no-status.md.
Attributes
- Source
- Errors.scala
- Graph
-
- Supertypes
-
class RuntimeExceptionclass Exceptionclass Throwabletrait Serializableclass Objecttrait Matchableclass Any
- Known subtypes
-
class BadRequestclass Forbiddenclass InternalServerErrorclass MethodNotAllowedclass NotFoundclass NotImplementedclass PayloadTooLarge
Members list
In this article