update
This commit is contained in:
@@ -57,14 +57,14 @@ struct msgPayload_v1
|
||||
end
|
||||
|
||||
# constructor
|
||||
function msgPayload_v1(;
|
||||
function msgPayload_v1(
|
||||
data::Any,
|
||||
type::String;
|
||||
id::String = "",
|
||||
dataname::String = "",
|
||||
type::String = "text",
|
||||
dataname::String = string(uuid4()),
|
||||
transport::String = "direct",
|
||||
encoding::String = "none",
|
||||
size::Integer = 0,
|
||||
data::Any = nothing,
|
||||
metadata::Dict{String, T} = Dict{String, Any}()
|
||||
) where {T<:Any}
|
||||
return msgPayload_v1(
|
||||
@@ -101,11 +101,12 @@ struct msgEnvelope_v1
|
||||
end
|
||||
|
||||
# constructor
|
||||
function msgEnvelope_v1(;
|
||||
function msgEnvelope_v1(
|
||||
sendTo::String,
|
||||
payloads::AbstractArray{msgPayload_v1};
|
||||
correlationId::String = "",
|
||||
msgId::String = "",
|
||||
timestamp::String = "",
|
||||
sendTo::String = "",
|
||||
timestamp::String = string(Dates.now()),
|
||||
msgPurpose::String = "",
|
||||
senderName::String = "",
|
||||
senderId::String = "",
|
||||
@@ -114,8 +115,7 @@ function msgEnvelope_v1(;
|
||||
replyTo::String = "",
|
||||
replyToMsgId::String = "",
|
||||
brokerURL::String = DEFAULT_NATS_URL,
|
||||
metadata::Dict{String, Any} = Dict{String, Any}(),
|
||||
payloads::AbstractArray{msgPayload_v1} = msgPayload_v1[]
|
||||
metadata::Dict{String, Any} = Dict{String, Any}()
|
||||
)
|
||||
return msgEnvelope_v1(
|
||||
correlationId,
|
||||
@@ -309,7 +309,6 @@ function smartsend(
|
||||
|
||||
# Generate message metadata
|
||||
msg_id = string(uuid4())
|
||||
timestamp = string(Dates.now())
|
||||
|
||||
# Process each payload in the list
|
||||
payloads = msgPayload_v1[]
|
||||
@@ -328,14 +327,14 @@ function smartsend(
|
||||
|
||||
# Create msgPayload_v1 for direct transport
|
||||
payload = msgPayload_v1(
|
||||
id = string(uuid4()),
|
||||
dataname = dataname,
|
||||
type = payload_type,
|
||||
transport = "direct",
|
||||
encoding = "base64",
|
||||
size = payload_size,
|
||||
data = payload_b64,
|
||||
metadata = Dict{String, Any}("payload_bytes" => payload_size)
|
||||
payload_b64,
|
||||
payload_type;
|
||||
id = string(uuid4()),
|
||||
dataname = dataname,
|
||||
transport = "direct",
|
||||
encoding = "base64",
|
||||
size = payload_size,
|
||||
metadata = Dict{String, Any}("payload_bytes" => payload_size)
|
||||
)
|
||||
push!(payloads, payload)
|
||||
else
|
||||
@@ -354,14 +353,14 @@ function smartsend(
|
||||
|
||||
# Create msgPayload_v1 for link transport
|
||||
payload = msgPayload_v1(
|
||||
id = string(uuid4()),
|
||||
dataname = dataname,
|
||||
type = payload_type,
|
||||
transport = "link",
|
||||
encoding = "none",
|
||||
size = payload_size,
|
||||
data = url,
|
||||
metadata = Dict{String, Any}()
|
||||
url,
|
||||
payload_type;
|
||||
id = string(uuid4()),
|
||||
dataname = dataname,
|
||||
transport = "link",
|
||||
encoding = "none",
|
||||
size = payload_size,
|
||||
metadata = Dict{String, Any}()
|
||||
)
|
||||
push!(payloads, payload)
|
||||
end
|
||||
@@ -369,20 +368,19 @@ function smartsend(
|
||||
|
||||
# Create msgEnvelope_v1 with all payloads
|
||||
env = msgEnvelope_v1(
|
||||
correlationId = cid,
|
||||
msgId = msg_id,
|
||||
timestamp = timestamp,
|
||||
sendTo = subject,
|
||||
msgPurpose = msg_purpose,
|
||||
senderName = sender_name,
|
||||
senderId = string(uuid4()),
|
||||
receiverName = receiver_name,
|
||||
receiverId = receiver_id,
|
||||
replyTo = reply_to,
|
||||
replyToMsgId = reply_to_msg_id,
|
||||
brokerURL = nats_url,
|
||||
metadata = Dict{String, Any}(),
|
||||
payloads = payloads
|
||||
subject,
|
||||
payloads;
|
||||
correlationId = cid,
|
||||
msgId = msg_id,
|
||||
msgPurpose = msg_purpose,
|
||||
senderName = sender_name,
|
||||
senderId = string(uuid4()),
|
||||
receiverName = receiver_name,
|
||||
receiverId = receiver_id,
|
||||
replyTo = reply_to,
|
||||
replyToMsgId = reply_to_msg_id,
|
||||
brokerURL = nats_url,
|
||||
metadata = Dict{String, Any}(),
|
||||
)
|
||||
|
||||
msg_json = envelope_to_json(env) # Convert envelope to JSON
|
||||
|
||||
Reference in New Issue
Block a user