blob: e5515e439b69abb5fc97dd87695ef47a97c7a32b (
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 © 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
}
}
|