in openai-java-core/src/main/kotlin/com/openai/services/blocking/vectorstores/FileBatchServiceImpl.kt [41:211]
override fun create(
params: FileBatchCreateParams,
requestOptions: RequestOptions,
): VectorStoreFileBatch =
// post /vector_stores/{vector_store_id}/file_batches
withRawResponse().create(params, requestOptions).parse()
override fun retrieve(
params: FileBatchRetrieveParams,
requestOptions: RequestOptions,
): VectorStoreFileBatch =
// get /vector_stores/{vector_store_id}/file_batches/{batch_id}
withRawResponse().retrieve(params, requestOptions).parse()
override fun cancel(
params: FileBatchCancelParams,
requestOptions: RequestOptions,
): VectorStoreFileBatch =
// post /vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel
withRawResponse().cancel(params, requestOptions).parse()
override fun listFiles(
params: FileBatchListFilesParams,
requestOptions: RequestOptions,
): FileBatchListFilesPage =
// get /vector_stores/{vector_store_id}/file_batches/{batch_id}/files
withRawResponse().listFiles(params, requestOptions).parse()
class WithRawResponseImpl internal constructor(private val clientOptions: ClientOptions) :
FileBatchService.WithRawResponse {
private val errorHandler: Handler<ErrorObject?> = errorHandler(clientOptions.jsonMapper)
private val createHandler: Handler<VectorStoreFileBatch> =
jsonHandler<VectorStoreFileBatch>(clientOptions.jsonMapper)
.withErrorHandler(errorHandler)
override fun create(
params: FileBatchCreateParams,
requestOptions: RequestOptions,
): HttpResponseFor<VectorStoreFileBatch> {
val request =
HttpRequest.builder()
.method(HttpMethod.POST)
.addPathSegments("vector_stores", params._pathParam(0), "file_batches")
.putAllHeaders(DEFAULT_HEADERS)
.body(json(clientOptions.jsonMapper, params._body()))
.build()
.prepare(clientOptions, params, deploymentModel = null)
val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
val response = clientOptions.httpClient.execute(request, requestOptions)
return response.parseable {
response
.use { createHandler.handle(it) }
.also {
if (requestOptions.responseValidation!!) {
it.validate()
}
}
}
}
private val retrieveHandler: Handler<VectorStoreFileBatch> =
jsonHandler<VectorStoreFileBatch>(clientOptions.jsonMapper)
.withErrorHandler(errorHandler)
override fun retrieve(
params: FileBatchRetrieveParams,
requestOptions: RequestOptions,
): HttpResponseFor<VectorStoreFileBatch> {
val request =
HttpRequest.builder()
.method(HttpMethod.GET)
.addPathSegments(
"vector_stores",
params._pathParam(0),
"file_batches",
params._pathParam(1),
)
.putAllHeaders(DEFAULT_HEADERS)
.build()
.prepare(clientOptions, params, deploymentModel = null)
val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
val response = clientOptions.httpClient.execute(request, requestOptions)
return response.parseable {
response
.use { retrieveHandler.handle(it) }
.also {
if (requestOptions.responseValidation!!) {
it.validate()
}
}
}
}
private val cancelHandler: Handler<VectorStoreFileBatch> =
jsonHandler<VectorStoreFileBatch>(clientOptions.jsonMapper)
.withErrorHandler(errorHandler)
override fun cancel(
params: FileBatchCancelParams,
requestOptions: RequestOptions,
): HttpResponseFor<VectorStoreFileBatch> {
val request =
HttpRequest.builder()
.method(HttpMethod.POST)
.addPathSegments(
"vector_stores",
params._pathParam(0),
"file_batches",
params._pathParam(1),
"cancel",
)
.putAllHeaders(DEFAULT_HEADERS)
.apply { params._body().ifPresent { body(json(clientOptions.jsonMapper, it)) } }
.build()
.prepare(clientOptions, params, deploymentModel = null)
val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
val response = clientOptions.httpClient.execute(request, requestOptions)
return response.parseable {
response
.use { cancelHandler.handle(it) }
.also {
if (requestOptions.responseValidation!!) {
it.validate()
}
}
}
}
private val listFilesHandler: Handler<FileBatchListFilesPageResponse> =
jsonHandler<FileBatchListFilesPageResponse>(clientOptions.jsonMapper)
.withErrorHandler(errorHandler)
override fun listFiles(
params: FileBatchListFilesParams,
requestOptions: RequestOptions,
): HttpResponseFor<FileBatchListFilesPage> {
val request =
HttpRequest.builder()
.method(HttpMethod.GET)
.addPathSegments(
"vector_stores",
params._pathParam(0),
"file_batches",
params._pathParam(1),
"files",
)
.putAllHeaders(DEFAULT_HEADERS)
.build()
.prepare(clientOptions, params, deploymentModel = null)
val requestOptions = requestOptions.applyDefaults(RequestOptions.from(clientOptions))
val response = clientOptions.httpClient.execute(request, requestOptions)
return response.parseable {
response
.use { listFilesHandler.handle(it) }
.also {
if (requestOptions.responseValidation!!) {
it.validate()
}
}
.let {
FileBatchListFilesPage.builder()
.service(FileBatchServiceImpl(clientOptions))
.params(params)
.response(it)
.build()
}
}
}
}