final class WebhookServer extends AnyRef
A WebhookServer is a stateful server that subscribes to WebhookEvents and reliably
delivers them, i.e. failed dispatches are retried once, followed by retries with exponential
backoff. Retries are performed until some duration after which webhooks will be marked
WebhookStatus.Unavailable since some Instant
. Dispatches are batched if and
only if a batching capacity is configured and a webhook's delivery batching is
WebhookDeliveryBatching.Batched. When shutdown
is called, a shutdownSignal
is sent
which lets all dispatching work finish. Finally, the retry state is persisted, which allows
retries to resume after server restarts.
A live
server layer is provided in the companion object for convenience and proper resource
management, ensuring shutdown
is called by the finalizer.
- Alphabetic
- By Inheritance
- WebhookServer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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
- 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 subscribeToErrors: UManaged[Dequeue[WebhookError]]
Exposes a way to listen for WebhookErrors.
Exposes a way to listen for WebhookErrors. This provides clients a way to handle server errors that would otherwise just fail silently.
- 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()