Skip to main content

Module annotation

Module annotation 

Source
Expand description

The x-kynos-* annotations: what a waiver leaves on a description.

Kynos only lets an application build an API it can describe. Where an escape hatch is taken anyway, the description does not quietly lose the affected part of the service — it records that the part exists and that Kynos did not verify it. These are the field names and shapes that record carries, so that a producer and a checker agree on it by construction rather than by convention.

Two records, because there are two situations:

SituationRecordWhy
A real operation on a real path, wrapped in something undeclaredOpaque on the operationThe path is true; only the behaviour is unverified
A route no path template can expressOpaqueRoute on the documentEvery paths key that could be minted would be a lie

NOT_AUTHORITATIVE_ANNOTATION summarizes both. It is derived — see Document::restamp_authority — never authored.

Structs§

MalformedAnnotation
A Kynos annotation was present but not in the shape Kynos emits.
Opaque
The record a waiver leaves on one operation.
OpaqueRoute
A route the description cannot express, recorded rather than dropped.

Enums§

OpaqueReason
Why part of a service is not verifiably described.

Constants§

NOT_AUTHORITATIVE_ANNOTATION
The annotation marking a description as not fully describing the service.
OPAQUE_OPERATION_ANNOTATION
The annotation marking one operation as emitted but unverified.
OPAQUE_ROUTES_ANNOTATION
The annotation listing routes no path template can express.
UNCHECKED_SCHEMA_ANNOTATION
The annotation marking a schema as deliberately unconstrained.