Skip to content

Commit ea6143a

Browse files
authored
feat: SDK-1568 expose okhttp client as a configuration in a second bu… (#231)
1 parent b8bdd86 commit ea6143a

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

.github/workflows/generate-and-publish-sdk-sources.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ on:
1818

1919
jobs:
2020
generate-and-publish-sources:
21-
uses: ExpediaGroup/expediagroup-java-sdk/.github/workflows/selfserve-full-workflow.yaml@v20241125
21+
uses: ExpediaGroup/expediagroup-java-sdk/.github/workflows/selfserve-full-workflow.yaml@v20241126
2222
secrets: inherit
2323
with:
2424
name: rapid

customizations/generator/openapi/src/main/resources/templates/expediagroup-sdk/client.mustache

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,27 @@ class {{clientClassname}}Client private constructor(clientConfiguration: RapidCl
2626
2727
class Builder : BaseRapidClient.Builder<Builder>() {
2828
override fun build() = {{clientClassname}}Client(
29-
RapidClientConfiguration(key, secret, endpoint, requestTimeout, connectionTimeout, socketTimeout, maskedLoggingHeaders, maskedLoggingBodyFields)
29+
RapidClientConfiguration(key, secret, endpoint, requestTimeout, connectionTimeout, socketTimeout, maskedLoggingHeaders, maskedLoggingBodyFields, null)
3030
)
3131
}
3232

33+
class BuilderWithHttpClient() : BaseRapidClient.BuilderWithHttpClient<BuilderWithHttpClient>() {
34+
override fun build() : {{clientClassname}}Client {
35+
36+
if (okHttpClient == null) {
37+
throw ExpediaGroupConfigurationException(getMissingRequiredConfigurationMessage(ConfigurationName.OKHTTP_CLIENT))
38+
}
39+
40+
return {{clientClassname}}Client(
41+
RapidClientConfiguration(key, secret, endpoint, null, null, null, maskedLoggingHeaders, maskedLoggingBodyFields, okHttpClient)
42+
)
43+
}
44+
}
45+
3346
companion object {
3447
@JvmStatic fun builder() = Builder()
48+
49+
@JvmStatic fun builderWithHttpClient() = BuilderWithHttpClient()
3550
}
3651

3752
override suspend fun throwServiceException(response: HttpResponse, operationId: String) {

customizations/generator/openapi/src/main/resources/templates/expediagroup-sdk/imports/core.mustache

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import com.expediagroup.sdk.core.client.BaseRapidClient
22
import com.expediagroup.sdk.core.configuration.RapidClientConfiguration
3+
import com.expediagroup.sdk.core.constant.ConfigurationName
34
import com.expediagroup.sdk.core.constant.HeaderKey
5+
import com.expediagroup.sdk.core.constant.provider.ExceptionMessageProvider.getMissingRequiredConfigurationMessage
46
import com.expediagroup.sdk.core.model.exception.ExpediaGroupException
7+
import com.expediagroup.sdk.core.model.exception.client.ExpediaGroupConfigurationException
58
import com.expediagroup.sdk.core.model.exception.service.ExpediaGroupServiceException
69
import com.expediagroup.sdk.core.model.exception.handle
710
import com.expediagroup.sdk.core.model.paging.Paginator

0 commit comments

Comments
 (0)