Skip to content

Commit

Permalink
fix: date parsing throws IllegalArgumentException.
Browse files Browse the repository at this point in the history
When minio-java is used in system running with different locale than
English, date parsing fails with IllegalArgumentException.  This patch
fixes the issue by setting the locale to English for all date formats.

Fixes minio#411
  • Loading branch information
balamurugana committed Jun 27, 2016
1 parent bdf0523 commit 48a4ac0
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/main/java/io/minio/DateFormat.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@

package io.minio;

import java.util.Locale;

import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

Expand All @@ -25,17 +27,18 @@
*/
public class DateFormat {
public static final DateTimeFormatter AMZ_DATE_FORMAT =
DateTimeFormat.forPattern("yyyyMMdd'T'HHmmss'Z'").withZoneUTC();
DateTimeFormat.forPattern("yyyyMMdd'T'HHmmss'Z'").withZoneUTC().withLocale(Locale.ENGLISH);

public static final DateTimeFormatter EXPIRATION_DATE_FORMAT =
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH':'mm':'ss'.'SSS'Z'").withZoneUTC();
DateTimeFormat.forPattern("yyyy-MM-dd'T'HH':'mm':'ss'.'SSS'Z'").withZoneUTC().withLocale(Locale.ENGLISH);

public static final DateTimeFormatter RESPONSE_DATE_FORMAT = EXPIRATION_DATE_FORMAT;

public static final DateTimeFormatter SIGNER_DATE_FORMAT = DateTimeFormat.forPattern("yyyyMMdd").withZoneUTC();
public static final DateTimeFormatter SIGNER_DATE_FORMAT =
DateTimeFormat.forPattern("yyyyMMdd").withZoneUTC().withLocale(Locale.ENGLISH);

public static final DateTimeFormatter HTTP_HEADER_DATE_FORMAT =
DateTimeFormat.forPattern("EEE',' dd MMM yyyy HH':'mm':'ss zzz").withZoneUTC();
DateTimeFormat.forPattern("EEE',' dd MMM yyyy HH':'mm':'ss zzz").withZoneUTC().withLocale(Locale.ENGLISH);

private DateFormat() {}
}

0 comments on commit 48a4ac0

Please sign in to comment.