Files
swift-hvac-toolbox/Sources/App/Extensions/ApiController+respond.swift
2025-03-05 07:52:47 -05:00

36 lines
1.0 KiB
Swift

// import ApiController
// import Routes
// import Vapor
//
// extension ApiController {
//
// func respond(_ route: SiteRoute.Api, request: Vapor.Request) async throws -> any AsyncResponseEncodable {
// guard let encodable = try await json(route, request.logger) else {
// return HTTPStatus.ok
// }
// return AnyJSONResponse(value: encodable)
// }
// }
//
// struct AnyJSONResponse: AsyncResponseEncodable {
// public var headers: HTTPHeaders = ["Content-Type": "application/json"]
// let value: any Encodable
//
// init(additionalHeaders: HTTPHeaders = [:], value: any Encodable) {
// if additionalHeaders.contains(name: .contentType) {
// self.headers = additionalHeaders
// } else {
// headers.add(contentsOf: additionalHeaders)
// }
// self.value = value
// }
//
// func encodeResponse(for request: Request) async throws -> Response {
// try Response(
// status: .ok,
// headers: headers,
// body: .init(data: JSONEncoder().encode(value))
// )
// }
// }