Closed Bug 1876553 Opened 2 years ago Closed 2 years ago

Introduce Rust crate for automated serialization of XML structures

Categories

(Thunderbird :: General, task)

task

Tracking

(thunderbird_esr115 wontfix)

RESOLVED FIXED
124 Branch
Tracking Status
thunderbird_esr115 --- wontfix

People

(Reporter: leftmostcat, Assigned: leftmostcat)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 1 obsolete file)

Exchange Web Services operates on requests and responses encoded as XML data structures. In order to facilitate communication with EWS, we need to be able to serialize Rust structures to and deserialize them from XML. Existing Rust crates meet our deserialization needs, but no Rust crate has been found which is sufficient to handle the other direction.

The serde data model is not a good fit for XML and so—while it's good enough for deserialization—quick_xml's serde implementation lacks needed features in serialization (namely the ability to specify namespaces and namespace prefixes). Crates like xmlserde and yaserde (despite the names) provide an alternative to the serde data model which are explicitly designed for XML, but both require a degree of explicitness in specifying data structures which is burdensome to declaring structures for a large API such as EWS and which doesn't contribute to the principle of least surprise.

This is a straightforward mach tb-rust sync and mach tb-rust vendor.

Attachment #9376464 - Attachment description: Bug 1876553 - Update Rust dependencies from m-c. r=#thunderbird-reviewers → Bug 1876553 - Update Rust dependencies from m-c rev 6497cc2893d1. r=#thunderbird-reviewers
Attachment #9376467 - Attachment is obsolete: true
Target Milestone: --- → 124 Branch

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/289d5d6a33ba
Update Rust dependencies from m-c rev 6497cc2893d1. r=babolivier

Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: