Skip to content

Commit e4d3b82

Browse files
Change secure urls to use *res.cloudinary.com
1 parent a8d04f3 commit e4d3b82

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,27 @@ Accessing an uploaded image with the `sample` public ID through a CDN:
3838

3939
http://res.cloudinary.com/demo/image/upload/sample.jpg
4040

41-
![Sample](https://cloudinary-a.akamaihd.net/demo/image/upload/w_0.4/sample.jpg "Sample")
41+
![Sample](https://res.cloudinary.com/demo/image/upload/w_0.4/sample.jpg "Sample")
4242

4343
Generating a 150x100 version of the `sample` image and downloading it through a CDN:
4444

4545
http://res.cloudinary.com/demo/image/upload/w_150,h_100,c_fill/sample.jpg
4646

47-
![Sample 150x100](https://cloudinary-a.akamaihd.net/demo/image/upload/w_150,h_100,c_fill/sample.jpg "Sample 150x100")
47+
![Sample 150x100](https://res.cloudinary.com/demo/image/upload/w_150,h_100,c_fill/sample.jpg "Sample 150x100")
4848

4949
Converting to a 150x100 PNG with rounded corners of 20 pixels:
5050

5151
http://res.cloudinary.com/demo/image/upload/w_150,h_100,c_fill,r_20/sample.png
5252

53-
![Sample 150x150 Rounded PNG](https://cloudinary-a.akamaihd.net/demo/image/upload/w_150,h_100,c_fill,r_20/sample.png "Sample 150x150 Rounded PNG")
53+
![Sample 150x150 Rounded PNG](https://res.cloudinary.com/demo/image/upload/w_150,h_100,c_fill,r_20/sample.png "Sample 150x150 Rounded PNG")
5454

5555
For plenty more transformation options, see our [image transformations documentation](http://cloudinary.com/documentation/image_transformations).
5656

5757
Generating a 120x90 thumbnail based on automatic face detection of the Facebook profile picture of Bill Clinton:
5858

5959
http://res.cloudinary.com/demo/image/facebook/c_thumb,g_face,h_90,w_120/billclinton.jpg
6060

61-
![Facebook 90x120](https://cloudinary-a.akamaihd.net/demo/image/facebook/c_thumb,g_face,h_90,w_120/billclinton.jpg "Facebook 90x200")
61+
![Facebook 90x120](https://res.cloudinary.com/demo/image/facebook/c_thumb,g_face,h_90,w_120/billclinton.jpg "Facebook 90x200")
6262

6363
For more details, see our documentation for embedding [Facebook](http://cloudinary.com/documentation/facebook_profile_pictures) and [Twitter](http://cloudinary.com/documentation/twitter_profile_pictures) profile pictures.
6464

cloudinary-core/src/main/java/com/cloudinary/Cloudinary.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@
2424
@SuppressWarnings({"rawtypes", "unchecked"})
2525
public class Cloudinary {
2626
public final static String CF_SHARED_CDN = "d3jpl91pxevbkh.cloudfront.net";
27-
public final static String AKAMAI_SHARED_CDN = "cloudinary-a.akamaihd.net";
27+
public final static String OLD_AKAMAI_SHARED_CDN = "cloudinary-a.akamaihd.net";
28+
public final static String AKAMAI_SHARED_CDN = "res.cloudinary.com";
2829
public final static String SHARED_CDN = AKAMAI_SHARED_CDN;
2930

3031
private final Map config = new HashMap();

cloudinary-core/src/main/java/com/cloudinary/Url.java

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,21 +122,22 @@ public String generate(String source) {
122122
} else if (format != null) {
123123
source = source + "." + format;
124124
}
125-
if (secure && StringUtils.isBlank(secureDistribution)) {
126-
secureDistribution = Cloudinary.SHARED_CDN;
127-
}
128125
String prefix;
129-
if (secure) {
130-
prefix = "https://" + secureDistribution;
131-
} else {
126+
boolean sharedDomain = !privateCdn;
127+
if (secure) {
128+
if (StringUtils.isBlank(secureDistribution) || Cloudinary.OLD_AKAMAI_SHARED_CDN.equals(secureDistribution)) {
129+
secureDistribution = privateCdn ? cloudName + "-res.cloudinary.com" : Cloudinary.SHARED_CDN;
130+
}
131+
sharedDomain = sharedDomain || secureDistribution == Cloudinary.SHARED_CDN;
132+
prefix = "https://" + secureDistribution;
133+
} else {
132134
CRC32 crc32 = new CRC32();
133135
crc32.update(source.getBytes());
134136
String subdomain = cdnSubdomain ? "a" + ((crc32.getValue() % 5 + 5) % 5 + 1) + "." : "";
135137
String host = cname != null ? cname : (privateCdn ? cloudName + "-" : "") + "res.cloudinary.com";
136138
prefix = "http://" + subdomain + host;
137-
}
138-
if (!privateCdn || (secure && Cloudinary.AKAMAI_SHARED_CDN.equals(secureDistribution)))
139-
prefix = prefix + "/" + cloudName;
139+
}
140+
if (sharedDomain) prefix = prefix + "/" + cloudName;
140141

141142
if (shorten && resourceType.equals("image") && type.equals("upload")) {
142143
resourceType = "iu";

cloudinary-core/src/test/java/com/cloudinary/test/CloudinaryTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public void testCloudNameOptions() {
4343
public void testSecureDistribution() {
4444
// should use default secure distribution if secure=TRUE
4545
String result = cloudinary.url().secure(true).generate("test");
46-
assertEquals("https://cloudinary-a.akamaihd.net/test123/image/upload/test", result);
46+
assertEquals("https://res.cloudinary.com/test123/image/upload/test", result);
4747
}
4848

4949
@Test
@@ -68,7 +68,7 @@ public void testSecureAkamai() {
6868
cloudinary.setConfig("secure", true);
6969
cloudinary.setConfig("private_cdn", true);
7070
String result = cloudinary.url().generate("test");
71-
assertEquals("https://cloudinary-a.akamaihd.net/test123/image/upload/test", result);
71+
assertEquals("https://test123-res.cloudinary.com/image/upload/test", result);
7272
}
7373

7474
@Test

0 commit comments

Comments
 (0)