Module: Legion::Extensions::Llm::Ledger::Helpers::SubscriptionMessage
- Defined in:
- lib/legion/extensions/llm/ledger/helpers/subscription_message.rb
Class Method Summary collapse
- .decode_payload(message, metadata, delivery_info) ⇒ Object
- .extract_headers(payload, metadata) ⇒ Object
- .runner_args(payload, metadata, message) ⇒ Object
Class Method Details
.decode_payload(message, metadata, delivery_info) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/legion/extensions/llm/ledger/helpers/subscription_message.rb', line 14 def decode_payload(, , delivery_info) headers = () properties = () payload = decrypt_payload(, headers, properties) body = parse_payload(payload, properties) { payload: body, metadata: { headers: headers, properties: properties.merge(routing_key: routing_key(delivery_info)) } } end |
.extract_headers(payload, metadata) ⇒ Object
66 67 68 69 70 71 72 73 74 75 |
# File 'lib/legion/extensions/llm/ledger/helpers/subscription_message.rb', line 66 def extract_headers(payload, ) explicit = [:headers] return explicit if explicit.is_a?(Hash) && explicit.any? return {} unless payload.is_a?(Hash) payload.each_with_object({}) do |(key, value), hdrs| str = key.to_s hdrs[str] = value if str.start_with?('x-legion-') || str == 'legion_protocol_version' end end |
.runner_args(payload, metadata, message) ⇒ Object
77 78 79 80 81 82 83 84 85 |
# File 'lib/legion/extensions/llm/ledger/helpers/subscription_message.rb', line 77 def runner_args(payload, , ) if .key?(:payload) [[:payload], [:metadata] || {}] elsif payload.nil? && .any? [, ] else [payload, ] end end |