Upcoming changes to WRP Messages of type Simple Event in XMiDT

Important: Let us know your concerns about these changes by August 5, 2020. We plan to start rolling out these changes by then.

  1. Caduceus will no longer define the “transaction_uuid” field
    Although the spec for a Simple Event WRP type does not specify a Transaction UUID (https://github.com/xmidt-org/wrp-c/wiki/Web-Routing-Protocol#simple-event-definition), Caduceus generates this value anyways. This field is intended to map WRP responses to requests that flow between devices and Talaria.
    Note: If consumers of events have started to rely on this field, we want to learn about your use cases.

  2. The default content type for payloads is changing from application/json to application/octet-stream
    Caduceus would sometimes receive WRP events with the content_type field undefined. In such cases, Caduceus assumes the payload is of JSON type. Based on HTTP MIME type standards, a better default would be application/octet-stream.
    Note: Since Talaria decodes and re-encodes all WRP messages originating from devices already, we plan to move this logic there from Caduceus.

Benefits: Besides making the default content type align more to known standards, performing (2) in Talaria will result in performance gain in Caduceus since it no longer needs to perform an extra re-encoding operation.