class

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> with action: send|receive referencing a channels.<name> entry. Method becomes "SEND" / "RECEIVE". The channel's address (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
Source

Instance methods

analyze
Source
tech

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.

Source