Analyzer::Specification::AsyncApi
Inherits Analyzer::Specification::SpecificationEngine < Analyzer < FileHelper < Reference < Object
AsyncAPI 2.x / 3.x analyzer.
Maps event-driven channels to endpoints:
- 2.x —
channels.<name>.{publish,subscribe}→ one endpoint per (channel, operation). Operation becomes the method-like field ("PUBLISH" / "SUBSCRIBE"). Message payload schema becomes the body shape. - 3.x —
operations.<id>withaction: send|receivereferencing achannels.<name>entry. Method becomes "SEND" / "RECEIVE". The channel'saddress(or the channel key as fallback) is the path.
The first server's protocol (kafka, mqtt, ws, amqp, nats, http, …)
is surfaced on the endpoint so DAST consumers can route accordingly.
Constants
OPERATIONS_2X = {"publish", "subscribe"}
Operation keys on channels entries (2.x).
Class methods
tech_name
SourceInstance methods
analyze
Sourcetech
Instance-side view of the same declaration. The per-file rescues live on
this base class, which has no way to name the analyzer that is running
inside them, so a skipped file could not be attributed to a tech.
Deriving it from analyzer_for keeps the name written exactly once.