blob: 547dcc08f665a7f8e0b986196ae9b7b005202b8e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//
// RESTCoding.swift
// RESTCoding
//
// Created by pronebird on 27/07/2021.
// Copyright © 2025 Mullvad VPN AB. All rights reserved.
//
import Foundation
extension REST {
public enum Coding {}
}
extension REST.Coding {
/// Returns a JSON encoder used by REST API.
public static func makeJSONEncoder() -> JSONEncoder {
let encoder = JSONEncoder()
encoder.keyEncodingStrategy = .convertToSnakeCase
encoder.dataEncodingStrategy = .base64
encoder.dateEncodingStrategy = .iso8601
return encoder
}
/// Returns a JSON decoder used by REST API.
public static func makeJSONDecoder() -> JSONDecoder {
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
decoder.dataDecodingStrategy = .base64
decoder.dateDecodingStrategy = .iso8601
return decoder
}
}
|