Package-level declarations

Types

Link copied to clipboard

The Wow-Call header: the root command a service's synchronous call acts for, a CallWire, as the base64url (unpadded) of its JSON. One header carries it all, so one rule guards it: the edge takes it from a service identity only, and refuses it from any other caller.

Link copied to clipboard
data class CallWire(val commandId: String, val tenantId: String, val ownerId: String? = null, val spaceId: String? = null, val causation: Causation, val operator: Operator? = null, val wait: WaitWire? = null, val facts: Map<String, String> = emptyMap())

The root command of a call on the wire (CallHeader): the call's commandId, the root command's tenantId, ownerId and spaceId, its causation and operator, the wait context a wait that follows the calling saga goes on with, and facts, the root request's facts that propagate (such as {"app_id":"console"}).

Link copied to clipboard

The identity headers of a development caller, which stand in for an identity provider: the host's development callers read the caller from them in a development profile (wow.dev-profiles), with CoSec off and no CallerResolver of the application's, and a client's development credential writes a caller as them. Any client sets them, so a host reads them in a development profile alone, never in a deployment.

Link copied to clipboard

The Wow-Scope header: an RFC 8941 dictionary whose members, all optional, are tenant, owner and space, each a string or a token: Wow-Scope: tenant="t1", owner="u1", space="s1".

Link copied to clipboard

The Wow-Wait and Wow-Wait-Timeout headers.

Link copied to clipboard
data class WaitWire(val waitId: String, val origin: WaitWire.Origin, val remaining: List<Hop>, val deadline: Long)

A wait context on the wire, in Wow-Call and the cluster channel's messages: the wait's waitId on its origin, the hops it has not reached yet (remaining) and its deadline in epoch milliseconds.

Link copied to clipboard
object WireNames

How Wow spells a value on the wire: lower-kebab, as its headers, server-sent event names and error codes are. A Wow enumeration's value is its constant's name in lower case, words joined by hyphens (CATCH_UP is catch-up); a violation's code is its constraint's name so spelled (NotBlank is not-blank, UNKNOWN_FIELD is unknown-field). A domain's own enumerations are the domain's: Wow never respells them.

Link copied to clipboard
object WowHeaders

The request headers of the public port. A request header that is neither one of these nor a request fact the host lists (wow.http.request-facts) is ignored, but for User-Agent, which the public port records as the default request fact user_agent beside the client's address, remote_ip.