Skip to content

Commit 3101234

Browse files
committed
GeminiService - support for explicit timeouts
1 parent f7a8aa1 commit 3101234

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

google-gemini-client/src/main/scala/io/cequence/openaiscala/gemini/service/GeminiServiceFactory.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import io.cequence.openaiscala.service.ChatProviderSettings
1010
import io.cequence.openaiscala.service.StreamedServiceTypes.OpenAIChatCompletionStreamedService
1111

1212
import scala.concurrent.ExecutionContext
13+
import io.cequence.wsclient.service.ws.Timeouts
1314

1415
/**
1516
* Factory for creating instances of the [[GeminiService]] and an OpenAI adapter for
@@ -20,11 +21,12 @@ object GeminiServiceFactory extends GeminiServiceConsts with EnvHelper {
2021
private val apiKeyEnv = ChatProviderSettings.gemini.apiKeyEnvVariable
2122

2223
def apply(
23-
apiKey: String = getEnvValue(apiKeyEnv)
24+
apiKey: String = getEnvValue(apiKeyEnv),
25+
timeouts: Option[Timeouts] = None
2426
)(
2527
implicit ec: ExecutionContext,
2628
materializer: Materializer
27-
): GeminiService = new GeminiServiceImpl(apiKey)
29+
): GeminiService = new GeminiServiceImpl(apiKey, timeouts)
2830

2931
/**
3032
* Create a new instance of the [[OpenAIChatCompletionService]] wrapping the SonarService

google-gemini-client/src/main/scala/io/cequence/openaiscala/gemini/service/impl/GeminiServiceImpl.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@ import io.cequence.wsclient.service.{WSClientEngine, WSClientEngineStreamExtra}
2222
import play.api.libs.json._
2323

2424
import scala.concurrent.{ExecutionContext, Future}
25+
import io.cequence.wsclient.service.ws.Timeouts
2526

2627
private[service] class GeminiServiceImpl(
27-
apiKey: String
28+
apiKey: String,
29+
timeouts: Option[Timeouts] = None
2830
)(
2931
override implicit val ec: ExecutionContext,
3032
implicit val materializer: Materializer
@@ -40,7 +42,8 @@ private[service] class GeminiServiceImpl(
4042
WsRequestContext(
4143
extraParams = Seq(
4244
Param.key.toString() -> apiKey
43-
)
45+
),
46+
explTimeouts = timeouts
4447
)
4548
)
4649

0 commit comments

Comments
 (0)