diff --git a/CHANGELOG.md b/CHANGELOG.md index 381cf626..5da0f080 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG +## v2.3.0 + +### Date: 29-Sep-2025 + +- GCP-EU and AU region support + ## v2.2.0 ### Date: 25-Aug-2025 diff --git a/pom.xml b/pom.xml index 1917c51b..b533d555 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.contentstack.sdk java - 2.2.0 + 2.3.0 jar contentstack-java Java SDK for Contentstack Content Delivery API diff --git a/src/main/java/com/contentstack/sdk/Config.java b/src/main/java/com/contentstack/sdk/Config.java index d9fee7ea..bc0de25b 100644 --- a/src/main/java/com/contentstack/sdk/Config.java +++ b/src/main/java/com/contentstack/sdk/Config.java @@ -211,7 +211,7 @@ public Config setManagementToken(@NotNull String managementToken) { * The enum Contentstack region. for now contentstack supports [US, EU, AZURE_NA] */ public enum ContentstackRegion { - US, EU, AZURE_NA, AZURE_EU, GCP_NA + US, EU, AZURE_NA, AZURE_EU, GCP_NA, GCP_EU, AU } } diff --git a/src/main/java/com/contentstack/sdk/Stack.java b/src/main/java/com/contentstack/sdk/Stack.java index 2174bed7..b50ccb69 100644 --- a/src/main/java/com/contentstack/sdk/Stack.java +++ b/src/main/java/com/contentstack/sdk/Stack.java @@ -73,6 +73,16 @@ protected void setConfig(Config config) { urlDomain = "cdn.contentstack.com"; } config.host = "gcp-na" + "-" + urlDomain; + } else if (region.equalsIgnoreCase("gcp_eu")) { + if (urlDomain.equalsIgnoreCase("cdn.contentstack.io")) { + urlDomain = "cdn.contentstack.com"; + } + config.host = "gcp-eu" + "-" + urlDomain; + } else if (region.equalsIgnoreCase("au")) { + if (urlDomain.equalsIgnoreCase("cdn.contentstack.io")) { + urlDomain = "cdn.contentstack.com"; + } + config.host = region + "-" + urlDomain; } } diff --git a/src/test/java/com/contentstack/sdk/TestGcpRegion.java b/src/test/java/com/contentstack/sdk/TestGcpRegion.java index faa1b0b5..d1894b17 100644 --- a/src/test/java/com/contentstack/sdk/TestGcpRegion.java +++ b/src/test/java/com/contentstack/sdk/TestGcpRegion.java @@ -33,4 +33,15 @@ void testGcpNARegionBehaviourGcpStackHost() throws IllegalAccessException { Assertions.assertEquals("gcp-na-cdn.contentstack.com", stack.config.host); } + + @Test + void testGcpEURegionBehaviourGcpStack() throws IllegalAccessException { + Config config = new Config(); + Config.ContentstackRegion region = Config.ContentstackRegion.GCP_EU; + config.setRegion(region); + Stack stack = Contentstack.stack("fakeApiKey", "fakeDeliveryToken", "fakeEnvironment", config); + Assertions.assertFalse(config.region.name().isEmpty()); + Assertions.assertEquals("GCP_EU", stack.config.region.name()); + Assertions.assertEquals("gcp-eu-cdn.contentstack.com", stack.config.host); + } } \ No newline at end of file diff --git a/src/test/java/com/contentstack/sdk/TestStack.java b/src/test/java/com/contentstack/sdk/TestStack.java index 86d40953..48ae0ec2 100644 --- a/src/test/java/com/contentstack/sdk/TestStack.java +++ b/src/test/java/com/contentstack/sdk/TestStack.java @@ -400,4 +400,26 @@ public void onCompletion(ResponseType responseType, Error error) { }); } + @Test + @Order(44) + void testAURegionSupport() throws IllegalAccessException { + Config config = new Config(); + Config.ContentstackRegion region = Config.ContentstackRegion.AU; + config.setRegion(region); + Assertions.assertFalse(config.region.name().isEmpty()); + Assertions.assertEquals("AU", config.region.name()); + } + + @Test + @Order(45) + void testAURegionBehaviourStackHost() throws IllegalAccessException { + Config config = new Config(); + Config.ContentstackRegion region = Config.ContentstackRegion.AU; + config.setRegion(region); + Stack stack = Contentstack.stack("fakeApiKey", "fakeDeliveryToken", "fakeEnvironment", config); + Assertions.assertFalse(config.region.name().isEmpty()); + Assertions.assertEquals("au-cdn.contentstack.com", stack.config.host); + + } + }