Skip to content

Commit 3565d72

Browse files
committed
feat: SDK-1568 expose okhttp client as a configuration for XAP sdk
1 parent 372aa90 commit 3565d72

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

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)