Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .castiron.stats.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
schema_version: 1
generation_id: fd65dd19-7eac-493f-9f90-c62db36ea447
generation_id: d5f4ed15-606a-40de-99cc-7624ca170180
openapi_spec_hash: b2c62b342b04685226037c980f2b5a7a
openapi_transformed_spec_hash: ba44bf31326f01a1d886b7510dd9da8a
config_hash: 1e11a5becf7bc1c2e9e07b8654872dc4
codegen_sha: 65429161dddc59cf304fa034eb8caccb05c4b1e6
codegen_hash: 9302c8bf58629b0afe926ed88c80b2f20beb9a2555afe1febb68867f72ade4ea
public_codegen_sha: d9c7f61c82c73280993dd32b5a1ef3d2c0c8d490
config_hash: 4fbbbcf377bcc17646cccb9fcfbac14a
codegen_sha: 41b7af5cc4a284522463cb9ac54053a29f9642ef
codegen_hash: 6c8ab5a5c306f169798c284065aa2844565e87ef175da1e1227914c9d7b4a9e7
public_codegen_sha: 7661007907a5a6520bb17cffeeb1732809872c33
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// File generated from our OpenAPI spec by Castiron. See CONTRIBUTING.md for details.

package com.openai.core.http

import com.fasterxml.jackson.databind.JsonNode
import com.fasterxml.jackson.databind.json.JsonMapper
import com.openai.core.MultipartField

/** Preserve explicitly encoded fields as single, filename-less parts. */
@JvmSynthetic
internal fun encodeMultipartFields(
jsonMapper: JsonMapper,
fields: Map<String, MultipartField<*>>,
encodings: Map<String, Pair<String, Boolean>>,
): Map<String, MultipartField<*>> =
fields
.filterValues { !it.value.isMissing() }
.mapValues { (name, field) ->
val encoding = encodings[name] ?: return@mapValues field
val node = jsonMapper.valueToTree<JsonNode>(field.value)
val text =
if (encoding.second) {
jsonMapper.writeValueAsString(node)
} else {
require(node.isTextual) { "Multipart field $name must be a string" }
node.textValue()
}
MultipartField.builder<String>().value(text).contentType(encoding.first).build()
}
Loading
Loading