// // RESTCoding.swift // RESTCoding // // Created by pronebird on 27/07/2021. // Copyright © 2021 Mullvad VPN AB. All rights reserved. // import Foundation extension REST { enum Coding {} } extension REST.Coding { /// Returns a JSON encoder used by REST API. static func makeJSONEncoder() -> JSONEncoder { let encoder = JSONEncoder() encoder.keyEncodingStrategy = .convertToSnakeCase encoder.dateEncodingStrategy = .iso8601 encoder.dataEncodingStrategy = .base64 return encoder } /// Returns a JSON decoder used by REST API. static func makeJSONDecoder() -> JSONDecoder { let decoder = JSONDecoder() decoder.keyDecodingStrategy = .convertFromSnakeCase decoder.dateDecodingStrategy = .iso8601 decoder.dataDecodingStrategy = .base64 return decoder } }