Emcee

Форк
0
/
HttpResponse+JSON.swift 
26 строк · 854.0 Байт
1
import Foundation
2
import Swifter
3

4
public extension HttpResponse {
5
    private static let responseEncoder = JSONEncoder.pretty()
6
    
7
    static func json<R: Encodable>(response: R) -> HttpResponse {
8
        do {
9
            let data = try responseEncoder.encode(response)
10
            return .raw(200, "OK", ["Content-Type": "application/json"]) { writer in
11
                try writer.write(data)
12
            }
13
        } catch {
14
            return .raw(500, "Error", ["Content-Type": "application/json"]) { writer in
15
                try writer.write(
16
                    responseEncoder.encode(
17
                        [
18
                            "error": "\(error)",
19
                            "operationDescription": "Failed to generate JSON response"
20
                        ]
21
                    )
22
                )
23
            }
24
        }
25
    }
26
}
27

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.