class
Analyzer::Specification::AsyncApi
- Analyzer::Specification::AsyncApi
- Analyzer
- Reference
- Object
Overview
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.
Defined in:
analyzer/analyzers/specification/asyncapi.crConstant Summary
-
OPERATIONS_2X =
{"publish", "subscribe"} -
Operation keys on
channelsentries (2.x).
Instance Method Summary
Instance methods inherited from class Analyzer
analyze
analyze,
base_path : String
base_path,
base_paths : Array(String)
base_paths,
callees_needed? : Bool
callees_needed?,
logger : NoirLogger
logger,
parallel_analyze(channel : Channel(String), &block : String -> Nil)
parallel_analyze,
read_file_content(path : String) : String
read_file_content,
result : Array(Endpoint)
result,
url : String
url
Constructor methods inherited from class Analyzer
new(options : Hash(String, YAML::Any))
new
Macros inherited from class Analyzer
define_getter_methods(names)
define_getter_methods
Instance methods inherited from module FileHelper
all_files : Array(String)
all_files,
get_files_by_extension(extension : String) : Array(String)
get_files_by_extension,
get_files_by_prefix(prefix : String) : Array(String)
get_files_by_prefix,
get_files_by_prefix_and_extension(prefix : String, extension : String) : Array(String)
get_files_by_prefix_and_extension,
get_public_dir_files(base_path : String, folder : String) : Array(String)
get_public_dir_files,
get_public_files(base_path : String, anchors : Array(String) = ["shard.yml", "Gemfile"]) : Array(String)
get_public_files,
populate_channel_with_files(channel : Channel(String))
populate_channel_with_files,
populate_channel_with_filtered_files(channel : Channel(String), extension : String)populate_channel_with_filtered_files(channel : Channel(String), extensions : Array(String)) populate_channel_with_filtered_files