Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(api): update via SDK Studio #21

Merged
merged 1 commit into from
Jul 22, 2024
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
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,28 @@ import com.google.common.collect.ListMultimap
import com.google.common.collect.MultimapBuilder
import com.openlayer.api.core.RequestOptions
import com.openlayer.api.core.http.HttpClient
import com.openlayer.api.core.http.HttpMethod
import com.openlayer.api.core.http.HttpRequest
import com.openlayer.api.core.http.HttpRequestBody
import com.openlayer.api.core.http.HttpResponse
import com.openlayer.api.core.http.HttpMethod
import com.openlayer.api.errors.OpenlayerIoException
import java.io.IOException
import java.io.InputStream
import java.net.Proxy
import java.time.Duration
import java.util.concurrent.CompletableFuture
import java.util.concurrent.TimeUnit
import okhttp3.Call
import okhttp3.Callback
import okhttp3.Headers
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.MediaType
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.Response
import okhttp3.Request
import okhttp3.RequestBody
import okhttp3.MediaType
import okhttp3.Headers
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody
import okhttp3.Response
import okio.BufferedSink

class OkHttpClient
Expand All @@ -33,8 +34,7 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val

private fun getClient(requestOptions: RequestOptions): okhttp3.OkHttpClient {
val timeout = requestOptions.timeout ?: return okHttpClient
return okHttpClient
.newBuilder()
return okHttpClient.newBuilder()
.connectTimeout(timeout)
.readTimeout(timeout)
.writeTimeout(timeout)
Expand Down Expand Up @@ -76,8 +76,7 @@ private constructor(private val okHttpClient: okhttp3.OkHttpClient, private val
override fun onFailure(call: Call, e: IOException) {
future.completeExceptionally(OpenlayerIoException("Request failed", e))
}
}
)
})

return future
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,25 @@
package com.openlayer.api.client.okhttp

import com.fasterxml.jackson.databind.json.JsonMapper
import com.openlayer.api.client.OpenlayerClient
import com.openlayer.api.client.OpenlayerClientImpl
import com.openlayer.api.core.ClientOptions
import com.google.common.collect.Multimap
import java.net.Proxy
import java.time.Clock
import java.time.Duration
import java.util.Optional
import com.openlayer.api.core.ClientOptions
import com.openlayer.api.core.http.HttpClient
import com.openlayer.api.client.OpenlayerClient
import com.openlayer.api.client.OpenlayerClientImpl

class OpenlayerOkHttpClient private constructor() {

companion object {

@JvmStatic fun builder() = Builder()
@JvmStatic
fun builder() = Builder()

@JvmStatic fun fromEnv(): OpenlayerClient = builder().fromEnv().build()
@JvmStatic
fun fromEnv(): OpenlayerClient = builder().fromEnv().build()
}

class Builder {
Expand All @@ -32,15 +37,21 @@ class OpenlayerOkHttpClient private constructor() {
this.baseUrl = baseUrl
}

fun jsonMapper(jsonMapper: JsonMapper) = apply { clientOptions.jsonMapper(jsonMapper) }
fun jsonMapper(jsonMapper: JsonMapper) = apply {
clientOptions.jsonMapper(jsonMapper)
}

fun clock(clock: Clock) = apply { clientOptions.clock(clock) }
fun clock(clock: Clock) = apply {
clientOptions.clock(clock)
}

fun headers(headers: Map<String, Iterable<String>>) = apply {
clientOptions.headers(headers)
}

fun putHeader(name: String, value: String) = apply { clientOptions.putHeader(name, value) }
fun putHeader(name: String, value: String) = apply {
clientOptions.putHeader(name, value)
}

fun putHeaders(name: String, values: Iterable<String>) = apply {
clientOptions.putHeaders(name, values)
Expand All @@ -50,34 +61,42 @@ class OpenlayerOkHttpClient private constructor() {
clientOptions.putAllHeaders(headers)
}

fun removeHeader(name: String) = apply { clientOptions.removeHeader(name) }
fun removeHeader(name: String) = apply {
clientOptions.removeHeader(name)
}

fun timeout(timeout: Duration) = apply { this.timeout = timeout }
fun timeout(timeout: Duration) = apply {
this.timeout = timeout
}

fun maxRetries(maxRetries: Int) = apply { clientOptions.maxRetries(maxRetries) }
fun maxRetries(maxRetries: Int) = apply {
clientOptions.maxRetries(maxRetries)
}

fun proxy(proxy: Proxy) = apply { this.proxy = proxy }
fun proxy(proxy: Proxy) = apply {
this.proxy = proxy
}

fun responseValidation(responseValidation: Boolean) = apply {
clientOptions.responseValidation(responseValidation)
}

fun apiKey(apiKey: String?) = apply { clientOptions.apiKey(apiKey) }
fun apiKey(apiKey: String?) = apply {
clientOptions.apiKey(apiKey)
}

fun fromEnv() = apply { clientOptions.fromEnv() }
fun fromEnv() = apply {
clientOptions.fromEnv()
}

fun build(): OpenlayerClient {
return OpenlayerClientImpl(
clientOptions
.httpClient(
OkHttpClient.builder()
.baseUrl(baseUrl)
.timeout(timeout)
.proxy(proxy)
.build()
)
.build()
)
return OpenlayerClientImpl(clientOptions
.httpClient(OkHttpClient.builder()
.baseUrl(baseUrl)
.timeout(timeout)
.proxy(proxy)
.build())
.build())
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,25 @@
package com.openlayer.api.client.okhttp

import com.fasterxml.jackson.databind.json.JsonMapper
import com.openlayer.api.client.OpenlayerClientAsync
import com.openlayer.api.client.OpenlayerClientAsyncImpl
import com.openlayer.api.core.ClientOptions
import com.google.common.collect.Multimap
import java.net.Proxy
import java.time.Clock
import java.time.Duration
import java.util.Optional
import com.openlayer.api.core.ClientOptions
import com.openlayer.api.core.http.HttpClient
import com.openlayer.api.client.OpenlayerClientAsync
import com.openlayer.api.client.OpenlayerClientAsyncImpl

class OpenlayerOkHttpClientAsync private constructor() {

companion object {

@JvmStatic fun builder() = Builder()
@JvmStatic
fun builder() = Builder()

@JvmStatic fun fromEnv(): OpenlayerClientAsync = builder().fromEnv().build()
@JvmStatic
fun fromEnv(): OpenlayerClientAsync = builder().fromEnv().build()
}

class Builder {
Expand All @@ -32,15 +37,21 @@ class OpenlayerOkHttpClientAsync private constructor() {
this.baseUrl = baseUrl
}

fun jsonMapper(jsonMapper: JsonMapper) = apply { clientOptions.jsonMapper(jsonMapper) }
fun jsonMapper(jsonMapper: JsonMapper) = apply {
clientOptions.jsonMapper(jsonMapper)
}

fun clock(clock: Clock) = apply { clientOptions.clock(clock) }
fun clock(clock: Clock) = apply {
clientOptions.clock(clock)
}

fun headers(headers: Map<String, Iterable<String>>) = apply {
clientOptions.headers(headers)
}

fun putHeader(name: String, value: String) = apply { clientOptions.putHeader(name, value) }
fun putHeader(name: String, value: String) = apply {
clientOptions.putHeader(name, value)
}

fun putHeaders(name: String, values: Iterable<String>) = apply {
clientOptions.putHeaders(name, values)
Expand All @@ -50,34 +61,42 @@ class OpenlayerOkHttpClientAsync private constructor() {
clientOptions.putAllHeaders(headers)
}

fun removeHeader(name: String) = apply { clientOptions.removeHeader(name) }
fun removeHeader(name: String) = apply {
clientOptions.removeHeader(name)
}

fun timeout(timeout: Duration) = apply { this.timeout = timeout }
fun timeout(timeout: Duration) = apply {
this.timeout = timeout
}

fun maxRetries(maxRetries: Int) = apply { clientOptions.maxRetries(maxRetries) }
fun maxRetries(maxRetries: Int) = apply {
clientOptions.maxRetries(maxRetries)
}

fun proxy(proxy: Proxy) = apply { this.proxy = proxy }
fun proxy(proxy: Proxy) = apply {
this.proxy = proxy
}

fun responseValidation(responseValidation: Boolean) = apply {
clientOptions.responseValidation(responseValidation)
}

fun apiKey(apiKey: String?) = apply { clientOptions.apiKey(apiKey) }
fun apiKey(apiKey: String?) = apply {
clientOptions.apiKey(apiKey)
}

fun fromEnv() = apply { clientOptions.fromEnv() }
fun fromEnv() = apply {
clientOptions.fromEnv()
}

fun build(): OpenlayerClientAsync {
return OpenlayerClientAsyncImpl(
clientOptions
.httpClient(
OkHttpClient.builder()
.baseUrl(baseUrl)
.timeout(timeout)
.proxy(proxy)
.build()
)
.build()
)
return OpenlayerClientAsyncImpl(clientOptions
.httpClient(OkHttpClient.builder()
.baseUrl(baseUrl)
.timeout(timeout)
.proxy(proxy)
.build())
.build())
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,27 @@

package com.openlayer.api.client

import java.time.Duration
import java.util.Base64
import java.util.Optional
import java.util.concurrent.CompletableFuture
import com.openlayer.api.core.ClientOptions
import com.openlayer.api.core.http.HttpMethod
import com.openlayer.api.core.http.HttpRequest
import com.openlayer.api.core.http.HttpResponse.Handler
import com.openlayer.api.core.JsonField
import com.openlayer.api.core.RequestOptions
import com.openlayer.api.errors.OpenlayerError
import com.openlayer.api.errors.OpenlayerInvalidDataException
import com.openlayer.api.models.*
import com.openlayer.api.services.blocking.*
import com.openlayer.api.services.emptyHandler
import com.openlayer.api.services.errorHandler
import com.openlayer.api.services.json
import com.openlayer.api.services.jsonHandler
import com.openlayer.api.services.stringHandler
import com.openlayer.api.services.binaryHandler
import com.openlayer.api.services.withErrorHandler

interface OpenlayerClient {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,27 @@

package com.openlayer.api.client

import java.time.Duration
import java.util.Base64
import java.util.Optional
import java.util.concurrent.CompletableFuture
import com.openlayer.api.core.ClientOptions
import com.openlayer.api.core.http.HttpMethod
import com.openlayer.api.core.http.HttpRequest
import com.openlayer.api.core.http.HttpResponse.Handler
import com.openlayer.api.core.JsonField
import com.openlayer.api.core.RequestOptions
import com.openlayer.api.errors.OpenlayerError
import com.openlayer.api.errors.OpenlayerInvalidDataException
import com.openlayer.api.models.*
import com.openlayer.api.services.async.*
import com.openlayer.api.services.emptyHandler
import com.openlayer.api.services.errorHandler
import com.openlayer.api.services.json
import com.openlayer.api.services.jsonHandler
import com.openlayer.api.services.stringHandler
import com.openlayer.api.services.binaryHandler
import com.openlayer.api.services.withErrorHandler

interface OpenlayerClientAsync {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,29 @@

package com.openlayer.api.client

import java.time.Duration
import java.util.Base64
import java.util.Optional
import java.util.concurrent.CompletableFuture
import com.openlayer.api.core.ClientOptions
import com.openlayer.api.core.http.HttpMethod
import com.openlayer.api.core.http.HttpRequest
import com.openlayer.api.core.http.HttpResponse.Handler
import com.openlayer.api.core.JsonField
import com.openlayer.api.core.RequestOptions
import com.openlayer.api.errors.OpenlayerError
import com.openlayer.api.errors.OpenlayerInvalidDataException
import com.openlayer.api.models.*
import com.openlayer.api.services.async.*
import com.openlayer.api.services.emptyHandler
import com.openlayer.api.services.errorHandler
import com.openlayer.api.services.json
import com.openlayer.api.services.jsonHandler
import com.openlayer.api.services.stringHandler
import com.openlayer.api.services.binaryHandler
import com.openlayer.api.services.withErrorHandler

class OpenlayerClientAsyncImpl
constructor(
private val clientOptions: ClientOptions,
) : OpenlayerClientAsync {
class OpenlayerClientAsyncImpl constructor(private val clientOptions: ClientOptions, ) : OpenlayerClientAsync {

private val errorHandler: Handler<OpenlayerError> = errorHandler(clientOptions.jsonMapper)

Expand All @@ -22,9 +34,7 @@ constructor(

private val commits: CommitServiceAsync by lazy { CommitServiceAsyncImpl(clientOptions) }

private val inferencePipelines: InferencePipelineServiceAsync by lazy {
InferencePipelineServiceAsyncImpl(clientOptions)
}
private val inferencePipelines: InferencePipelineServiceAsync by lazy { InferencePipelineServiceAsyncImpl(clientOptions) }

private val storage: StorageServiceAsync by lazy { StorageServiceAsyncImpl(clientOptions) }

Expand Down
Loading