rocket-org / Rocket

A web framework for Rust.
https://rocket.rs
Apache License 2.0
27 stars 0 forks source link

Allow named msgpack serialization #18

Open Cloudef opened 2 years ago

Cloudef commented 2 years ago

Is your feature request motivated by a concrete problem? Please describe.

Currently the serde::msgpack::MsgPack included with rocket only does "compact serialization", meaning it doesn't serialize key names, only values in arrays. To be JSON compatible, and to avoid bugs it would be nice to have "named serialization".

Why this feature can't or shouldn't live outside of Rocket

The serde::msgpack is already in rocket.

Ideal Solution

It seems the problem is here: https://github.com/Rocket-org/Rocket/blob/cc0621626bf5e917ea1d4c1e29a327e9a7871921/core/lib/src/serde/msgpack.rs#L191 This should be changed to rmp_serde::to_vec_named, however since I'm still fairly new to rust, I don't know how this would be exposed so that the developer can choose either from the compact or named serialization form.