Routemaster Client v0.3.0 API Reference
Modules
A persistent cache that survives application restarts, backed by Redis
Centralized access to the client configuration
The Director module provides functions to interact with the Routemaster event bus REST API. Itβs a client and each function will perform an authenticated HTTP request to the even bus server
The foundation of a Drain app
An event received by the drain
Persisted data
A Plug to receive events over HTTP
Removes duplicates by URL and type from the current payload and only preserves the most recent event
This drain plug iterates through the list of event payloads
in conn
and, for each one, starts a supervised Task
to fetch the data asynchronously
Drops stale events from the current payload to only include events that reflect an entity state that is more recent than previously received events
Drain plug to declare listener modules that will be notified
of the received events. Listeners must implement the call/1
function, that will be invoked with a list of Routemaster.Drain.Event
structures as argument
Allows to pluck events for one or more topics and remove them
from the current payload. The removed β siphoned β events
are sent to a siphon module that must implement the call/1
function, that will be invoked with a list of Routemaster.Drain.Event
structures as argument
A dummy service to help in development
API client to fetch resources linked to from the events
Response caching middleware
Service authentication middleware
Dynamic base URL middleware
Dynamic Basic authentication middleware
A reimplementation of the default Tesla.Middleware.Logger
(source)
Authenticates event delivery requests from the bus server to the Drain app
Parses the request bodies of incoming event delivery requests to extract the event list payloads
This should be the first plug to quickly reject requests other
than POST /
This simply returns 204, the expected response for a Drain app
Publishes events to the event bus
An event to be published to the bus
This is the main interface to Redis, and it implements two functions to get a reference to the two Redis stores: the persistent data store and the cache store
This module provides access to the cache Redis
This module provides access to the persistent data store Redis
Utility functions to validate topic names
Utility functions