Class: A2A::Middleware::ExtractMessage
- Inherits:
-
Object
- Object
- A2A::Middleware::ExtractMessage
- Defined in:
- lib/a2a/middleware/extract_message.rb
Overview
Extracts text from the request message’s parts and sets ‘env` to the joined text string.
Replaces the common ‘extract_text` lambda pattern found in examples:
extract_text = ->() {
parts = .parts || []
parts.filter_map { |p| p.text }.join("\n")
}
Usage:
on "SendMessage" do
use A2A::Middleware::ExtractMessage
respond_with -> (env) {
text = env["a2a.message"]
# ...
}
end
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app) ⇒ ExtractMessage
constructor
A new instance of ExtractMessage.
Constructor Details
#initialize(app) ⇒ ExtractMessage
Returns a new instance of ExtractMessage.
29 30 31 |
# File 'lib/a2a/middleware/extract_message.rb', line 29 def initialize(app) @app = app end |
Instance Method Details
#call(env) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/a2a/middleware/extract_message.rb', line 33 def call(env) request = env["a2a.request"] = request. parts = .parts || [] env["a2a.message"] = parts.filter_map { |p| p.respond_to?(:text) ? p.text : p["text"] }.join("\n") @app.call(env) end |