From 8396a38b56bba1a384cd9d7275ebf15a527998fb Mon Sep 17 00:00:00 2001 From: Joannis Orlandos Date: Wed, 24 Jan 2024 15:08:25 +0100 Subject: [PATCH] Update README.md --- README.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/README.md b/README.md index 084398f..5949c4f 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,13 @@ extension IkigaJSONEncoder: ContentEncoder { try self.encodeAndWrite(encodable, into: &body) } + public func encode(_ encodable: E, to body: inout ByteBuffer, headers: inout HTTPHeaders, userInfo: [CodingUserInfoKey : Sendable]) throws where E : Encodable { + var encoder = self + encoder.userInfo = userInfo + headers.contentType = .json + try encoder.encodeAndWrite(encodable, into: &body) + } + public func encode(_ encodable: E, to body: inout ByteBuffer, headers: inout HTTPHeaders, userInfo: [CodingUserInfoKey : Any]) throws where E : Encodable { var encoder = self encoder.userInfo = userInfo @@ -69,6 +76,12 @@ extension IkigaJSONDecoder: ContentDecoder { ) throws -> D { return try self.decode(D.self, from: body) } + + public func decode(_ decodable: D.Type, from body: ByteBuffer, headers: HTTPHeaders, userInfo: [CodingUserInfoKey : Sendable]) throws -> D where D : Decodable { + let decoder = IkigaJSONDecoder(settings: settings) + decoder.settings.userInfo = userInfo + return try decoder.decode(D.self, from: body) + } public func decode(_ decodable: D.Type, from body: ByteBuffer, headers: HTTPHeaders, userInfo: [CodingUserInfoKey : Any]) throws -> D where D : Decodable { let decoder = IkigaJSONDecoder(settings: settings)