ScopeHeader

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".

On a query route alone (parseQuery), tenant may name several tenants instead: tenant=* for every tenant, or an inner list of strings or tokens, tenant=("t1" "t2").

A member that is not one of them, one without a value, a value that is not a string or a token (or, for a query's tenant, an inner list of them), a member with parameters, and a dictionary without members are malformed. As RFC 8941 says, a member given twice takes its last value.

Types

Link copied to clipboard
class QueryTarget @InternalWowApi constructor(val target: TargetScope, val crossTenant: CrossTenant?)

What Wow-Scope names on a query route: the target scope and, for a cross-tenant query, the tenants it reads (crossTenant), in which case target names no tenant.

Properties

Link copied to clipboard
const val ALL_TENANTS: String

Every tenant, as tenant names it on a query route.

Link copied to clipboard
const val OWNER: String
Link copied to clipboard
const val SPACE: String
Link copied to clipboard
const val TENANT: String

Functions

Link copied to clipboard
fun format(target: TargetScope): String

target as parse reads it.

Link copied to clipboard
fun parse(value: String): TargetScope

The target scope value spells, which names one tenant at most.

Link copied to clipboard

The target scope value spells on a query route: a tenant of * or an inner list is the QueryTarget.crossTenant of a cross-tenant query, its QueryTarget.target then naming no tenant.