Skip to content

Commit 3bf53e4

Browse files
nitzanjAmir Tocker
authored andcommitted
Fix ParseException when accessing Response.rateLimits with default locale set to non-english.
1 parent 37d0e5a commit 3bf53e4

File tree

4 files changed

+15
-6
lines changed

4 files changed

+15
-6
lines changed

cloudinary-http42/src/main/java/com/cloudinary/http42/api/Response.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.text.ParseException;
55
import java.text.SimpleDateFormat;
66
import java.util.HashMap;
7+
import java.util.Locale;
78
import java.util.Map;
89
import java.util.regex.Matcher;
910
import java.util.regex.Pattern;
@@ -33,8 +34,7 @@ public HttpResponse getRawHttpResponse() {
3334
private static final Pattern RATE_LIMIT_REGEX = Pattern
3435
.compile("X-Feature(\\w*)RateLimit(-Limit|-Reset|-Remaining)");
3536
private static final String RFC1123_PATTERN = "EEE, dd MMM yyyyy HH:mm:ss z";
36-
private static final DateFormat RFC1123 = new SimpleDateFormat(
37-
RFC1123_PATTERN);
37+
private static final DateFormat RFC1123 = new SimpleDateFormat(RFC1123_PATTERN, Locale.ENGLISH);
3838

3939
public Map<String, RateLimit> rateLimits() throws ParseException {
4040
Header[] headers = this.response.getAllHeaders();

cloudinary-http43/src/main/java/com/cloudinary/http43/api/Response.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.text.DateFormat;
44
import java.text.SimpleDateFormat;
55
import java.util.HashMap;
6+
import java.util.Locale;
67
import java.util.Map;
78
import java.util.regex.Matcher;
89
import java.util.regex.Pattern;
@@ -32,8 +33,7 @@ public HttpResponse getRawHttpResponse() {
3233
private static final Pattern RATE_LIMIT_REGEX = Pattern
3334
.compile("X-Feature(\\w*)RateLimit(-Limit|-Reset|-Remaining)");
3435
private static final String RFC1123_PATTERN = "EEE, dd MMM yyyyy HH:mm:ss z";
35-
private static final DateFormat RFC1123 = new SimpleDateFormat(
36-
RFC1123_PATTERN);
36+
private static final DateFormat RFC1123 = new SimpleDateFormat(RFC1123_PATTERN, Locale.ENGLISH);
3737

3838
public Map<String, RateLimit> rateLimits() throws java.text.ParseException {
3939
Header[] headers = this.response.getAllHeaders();

cloudinary-http44/src/main/java/com/cloudinary/http44/api/Response.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.text.DateFormat;
44
import java.text.SimpleDateFormat;
55
import java.util.HashMap;
6+
import java.util.Locale;
67
import java.util.Map;
78
import java.util.regex.Matcher;
89
import java.util.regex.Pattern;
@@ -32,8 +33,7 @@ public HttpResponse getRawHttpResponse() {
3233
private static final Pattern RATE_LIMIT_REGEX = Pattern
3334
.compile("X-Feature(\\w*)RateLimit(-Limit|-Reset|-Remaining)");
3435
private static final String RFC1123_PATTERN = "EEE, dd MMM yyyyy HH:mm:ss z";
35-
private static final DateFormat RFC1123 = new SimpleDateFormat(
36-
RFC1123_PATTERN);
36+
private static final DateFormat RFC1123 = new SimpleDateFormat(RFC1123_PATTERN, Locale.ENGLISH);
3737

3838
public Map<String, RateLimit> rateLimits() throws java.text.ParseException {
3939
Header[] headers = this.response.getAllHeaders();

cloudinary-test-common/src/main/java/com/cloudinary/test/AbstractApiTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.cloudinary.Coordinates;
66
import com.cloudinary.Transformation;
77
import com.cloudinary.api.ApiResponse;
8+
import com.cloudinary.api.RateLimit;
89
import com.cloudinary.api.exceptions.BadRequest;
910
import com.cloudinary.api.exceptions.NotFound;
1011
import com.cloudinary.transformation.TextLayer;
@@ -13,6 +14,7 @@
1314
import static org.hamcrest.Matchers.hasItem;
1415
import static org.hamcrest.Matchers.equalTo;
1516
import org.junit.*;
17+
import org.junit.rules.ExpectedException;
1618
import org.junit.rules.TestName;
1719

1820
import java.io.IOException;
@@ -433,6 +435,13 @@ public void test18Usage() throws Exception {
433435
assertNotNull(result.get("last_updated"));
434436
}
435437

438+
@Test
439+
public void testRateLimitWithNonEnglishLocale() throws Exception {
440+
Locale.setDefault(new Locale("de", "DE"));
441+
ApiResponse result = cloudinary.api().usage(new HashMap());
442+
Assert.assertNotNull(result.apiRateLimit().getReset());
443+
}
444+
436445
@Test
437446
public void test19Ping() throws Exception {
438447
// should support ping API call

0 commit comments

Comments
 (0)