diff --git a/src/msghandler.jl b/src/msghandler.jl index 59210c4..400180f 100644 --- a/src/msghandler.jl +++ b/src/msghandler.jl @@ -451,9 +451,9 @@ function smartpack( # Process each payload in the list payloads = msg_payload_v1[] for (dataname, payload_data, payload_type) in data - @show dataname typeof(payload_data) + # @show dataname typeof(payload_data) - # Serialize data based on type + # Serialize data based on type. use bytes as medium for every datatype payload_bytes = _serialize_data(payload_data, payload_type) payload_size = length(payload_bytes) # Calculate payload size in bytes @@ -811,7 +811,7 @@ function smartunpack( max_retries::Int = 5, base_delay::Int = 100, max_delay::Int = 5000 -)::JSON.Object{String, Any} + )::JSON.Object{String, Any} # Parse the JSON envelope env_json_obj = JSON.parse(msg_json_str) @@ -834,25 +834,25 @@ function smartunpack( # Extract base64 payload from the payload payload_b64 = String(payload["data"]) - # Decode Base64 payload + # Decode Base64 payload back into bytes (smartpack use bytes as medium for every datatype) payload_bytes = Base64.base64decode(payload_b64) # Decode base64 payload to bytes # Deserialize based on type data_type = String(payload["payload_type"]) - data = _deserialize_data(payload_bytes, data_type, env_json_obj["correlation_id"]) + data = _deserialize_data(payload_bytes, data_type, env_json_obj["correlation_id"]) push!(payloads_list, (dataname, data, data_type)) elseif transport == "link" # Link transport - payload is at URL # Extract download URL from the payload url = String(payload["data"]) - log_trace(env_json_obj["correlation_id"], "Link transport - fetching '$dataname' from URL: $url") # Log link transport handling + log_trace(env_json_obj["correlation_id"], "Link transport - fetching '$dataname' from URL: $url") # Log link transport handling # Fetch with exponential backoff using the download handler - downloaded_data = fileserver_download_handler(url, max_retries, base_delay, max_delay, env_json_obj["correlation_id"]) + downloaded_data = fileserver_download_handler(url, max_retries, base_delay, max_delay, env_json_obj["correlation_id"]) # Deserialize based on type data_type = String(payload["payload_type"]) - data = _deserialize_data(downloaded_data, data_type, env_json_obj["correlation_id"]) + data = _deserialize_data(downloaded_data, data_type, env_json_obj["correlation_id"]) push!(payloads_list, (dataname, data, data_type)) else # Unknown transport type