Skip to content

Commit d925c29

Browse files
committed
Represent integer and floating-point values as string data to match JSON encoding behavior
1 parent f179fde commit d925c29

File tree

1 file changed

+6
-12
lines changed

1 file changed

+6
-12
lines changed

Sources/ExyteOpenAI/Networking/Provider.swift

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -257,24 +257,18 @@ open class Provider<T: EndpointConfiguration> {
257257
throw OpenAIError.multipartEncoding(encodingError: .dataEncodingFailed)
258258
}
259259
bodyData = textData
260-
case .floatingPoint(let float):
260+
case .floatingPoint(let value):
261261
mimeType = $0.mimeType ?? MimeType.unknownBinary
262-
let encoder = JSONEncoder()
263-
encoder.keyEncodingStrategy = .convertToSnakeCase
264-
do {
265-
let numberData = try encoder.encode(float)
262+
if let numberData = "\(value)".data(using: .utf8) {
266263
bodyData = numberData
267-
} catch {
264+
} else {
268265
throw OpenAIError.multipartEncoding(encodingError: .dataEncodingFailed)
269266
}
270-
case .integer(let integer):
267+
case .integer(let value):
271268
mimeType = $0.mimeType ?? MimeType.unknownBinary
272-
let encoder = JSONEncoder()
273-
encoder.keyEncodingStrategy = .convertToSnakeCase
274-
do {
275-
let numberData = try encoder.encode(integer)
269+
if let numberData = "\(value)".data(using: .utf8) {
276270
bodyData = numberData
277-
} catch {
271+
} else {
278272
throw OpenAIError.multipartEncoding(encodingError: .dataEncodingFailed)
279273
}
280274
}

0 commit comments

Comments
 (0)