From 6fb7e8f90664d7c3a7e12f6653f5ad084b070b01 Mon Sep 17 00:00:00 2001 From: Shawn Fang Date: Tue, 8 Apr 2025 14:48:34 -0700 Subject: [PATCH 1/2] trimmed base url --- .../src/main/kotlin/com/openai/core/Utils.kt | 3 ++- .../src/test/kotlin/com/openai/core/UtilsTest.kt | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt b/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt index 0b11077b..3c7f3b5d 100644 --- a/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt +++ b/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt @@ -93,7 +93,8 @@ internal fun Any?.contentToString(): String { internal fun isAzureEndpoint(baseUrl: String): Boolean { // Azure Endpoint should be in the format of `https://.openai.azure.com`. // Or `https://.azure-api.net` for Azure OpenAI Management URL. - return baseUrl.endsWith(".openai.azure.com", true) || baseUrl.endsWith(".azure-api.net", true) + val trimmedBaseUrl = baseUrl.trim().trimEnd('/') + return trimmedBaseUrl.endsWith(".openai.azure.com", true) || trimmedBaseUrl.endsWith(".azure-api.net", true) } internal interface Enum diff --git a/openai-java-core/src/test/kotlin/com/openai/core/UtilsTest.kt b/openai-java-core/src/test/kotlin/com/openai/core/UtilsTest.kt index 2f3a54ba..bb87b5c8 100644 --- a/openai-java-core/src/test/kotlin/com/openai/core/UtilsTest.kt +++ b/openai-java-core/src/test/kotlin/com/openai/core/UtilsTest.kt @@ -30,4 +30,20 @@ internal class UtilsTest { assertThat(arrayOf(byteArrayOf(1, 2), byteArrayOf(3)).contentToString()) .isEqualTo("[[1, 2], [3]]") } + + @Test + fun isAzureEndpoint() { + // Valid Azure endpoints + assertThat(isAzureEndpoint("https://region.openai.azure.com")).isTrue() + assertThat(isAzureEndpoint("https://region.openai.azure.com/")).isTrue() + assertThat(isAzureEndpoint("https://region.azure-api.net")).isTrue() + assertThat(isAzureEndpoint("https://region.azure-api.net/")).isTrue() + + // Invalid Azure endpoints + assertThat(isAzureEndpoint("https://example.com")).isFalse() + assertThat(isAzureEndpoint("https://region.openai.com")).isFalse() + assertThat(isAzureEndpoint("https://region.azure.com")).isFalse() + assertThat(isAzureEndpoint("")).isFalse() + assertThat(isAzureEndpoint(" ")).isFalse() + } } From 84be6f4d295c2ee9cc3c8ad57b72ae4eb116829c Mon Sep 17 00:00:00 2001 From: Shawn Fang Date: Tue, 8 Apr 2025 15:07:11 -0700 Subject: [PATCH 2/2] spotless check --- openai-java-core/src/main/kotlin/com/openai/core/Utils.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt b/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt index 3c7f3b5d..bedd2149 100644 --- a/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt +++ b/openai-java-core/src/main/kotlin/com/openai/core/Utils.kt @@ -94,7 +94,8 @@ internal fun isAzureEndpoint(baseUrl: String): Boolean { // Azure Endpoint should be in the format of `https://.openai.azure.com`. // Or `https://.azure-api.net` for Azure OpenAI Management URL. val trimmedBaseUrl = baseUrl.trim().trimEnd('/') - return trimmedBaseUrl.endsWith(".openai.azure.com", true) || trimmedBaseUrl.endsWith(".azure-api.net", true) + return trimmedBaseUrl.endsWith(".openai.azure.com", true) || + trimmedBaseUrl.endsWith(".azure-api.net", true) } internal interface Enum