Skip to content

Commit 47e4848

Browse files
authored
feat: SDK-1568 expose okhttp client as a configuration for XAP sdk (#33)
1 parent db0d9fd commit 47e4848

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

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

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

1313
jobs:
1414
generate-and-publish-sources:
15-
uses: ExpediaGroup/expediagroup-java-sdk/.github/workflows/selfserve-full-workflow.yaml@v20241125
15+
uses: ExpediaGroup/expediagroup-java-sdk/.github/workflows/selfserve-full-workflow.yaml@v20241126
1616
secrets: inherit
1717
with:
1818
name: xap

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,23 @@ class {{clientClassname}}Client private constructor(clientConfiguration: XapClie
2626
)
2727
}
2828

29+
class BuilderWithHttpClient() : BaseXapClient.BuilderWithHttpClient<BuilderWithHttpClient>() {
30+
override fun build() : {{clientClassname}}Client {
31+
32+
if (okHttpClient == null) {
33+
throw ExpediaGroupConfigurationException(getMissingRequiredConfigurationMessage(ConfigurationName.OKHTTP_CLIENT))
34+
}
35+
36+
return {{clientClassname}}Client(
37+
XapClientConfiguration(key, secret, endpoint, null, null, null, maskedLoggingHeaders, maskedLoggingBodyFields, okHttpClient)
38+
)
39+
}
40+
}
41+
2942
companion object {
3043
@JvmStatic fun builder() = Builder()
44+
45+
@JvmStatic fun builderWithHttpClient() = BuilderWithHttpClient()
3146
}
3247

3348
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.BaseXapClient
22
import com.expediagroup.sdk.core.configuration.XapClientConfiguration
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)