MessagePack
MessagePack copied to clipboard
URLs don't encode/decode properly
A simple model like this fails to encode and then decode successfully:
struct Link: Codable {
let url: URL
}
This is because like Date
and Data
types, URL
s also need to be handled as a special case by coders.
Here's how they're handled in the Swift JSONEncoder: https://github.com/apple/swift-corelibs-foundation/blob/943fee90d095a1708da826e7641636a3cbe9642e/Sources/Foundation/JSONEncoder.swift#L445
If left to encode themselves, URLs create a base/relative URL part, whereas the JSONEncoder just outputs the absoluteString
as a normal String
field.