1 module hunt.http.codec.http.model.DateParser;
2 
3 // import java.text.SimpleDateFormat;
4 // import java.util.Date;
5 // import java.util.Locale;
6 // import java.util.TimeZone;
7 
8 /**
9  * ThreadLocal data parsers for HTTP style dates
10  *
11  */
12 class DateParser {
13 	// private static TimeZone __GMT = TimeZone.getTimeZone("GMT");
14 
15 	// static this() {
16 	// 	__GMT.setID("GMT");
17 	// }
18 
19 	__gshared string[] __dateReceiveFmt = [ "EEE, dd MMM yyyy HH:mm:ss zzz", "EEE, dd-MMM-yy HH:mm:ss",
20 			"EEE MMM dd HH:mm:ss yyyy",
21 
22 			"EEE, dd MMM yyyy HH:mm:ss", "EEE dd MMM yyyy HH:mm:ss zzz", "EEE dd MMM yyyy HH:mm:ss",
23 			"EEE MMM dd yyyy HH:mm:ss zzz", "EEE MMM dd yyyy HH:mm:ss", "EEE MMM-dd-yyyy HH:mm:ss zzz",
24 			"EEE MMM-dd-yyyy HH:mm:ss", "dd MMM yyyy HH:mm:ss zzz", "dd MMM yyyy HH:mm:ss", "dd-MMM-yy HH:mm:ss zzz",
25 			"dd-MMM-yy HH:mm:ss", "MMM dd HH:mm:ss yyyy zzz", "MMM dd HH:mm:ss yyyy", "EEE MMM dd HH:mm:ss yyyy zzz",
26 			"EEE, MMM dd HH:mm:ss yyyy zzz", "EEE, MMM dd HH:mm:ss yyyy", "EEE, dd-MMM-yy HH:mm:ss zzz",
27 			"EEE dd-MMM-yy HH:mm:ss zzz", "EEE dd-MMM-yy HH:mm:ss" ];
28 
29 	// static long parseDate(string date) {
30 	// 	return __dateParser.parse(date);
31 	// }
32 
33 	// private static DateParser __dateParser = new DateParser();
34 
35 	// SimpleDateFormat[] _dateReceive = new SimpleDateFormat[__dateReceiveFmt.length];
36 
37 	// private long parse(string dateVal) {
38 	// 	for (int i = 0; i < _dateReceive.length; i++) {
39 	// 		if (_dateReceive[i] == null) {
40 	// 			_dateReceive[i] = new SimpleDateFormat(__dateReceiveFmt[i], Locale.US);
41 	// 			_dateReceive[i].setTimeZone(__GMT);
42 	// 		}
43 
44 	// 		try {
45 	// 			Date date = cast(Date) _dateReceive[i].parseObject(dateVal);
46 	// 			return date.getTime();
47 	// 		} catch (java.lang.Exception e) {
48 	// 			// log.ignore(e);
49 	// 		}
50 	// 	}
51 
52 	// 	if (dateVal.endsWith(" GMT")) {
53 	// 		string val = dateVal.substring(0, dateVal.length() - 4);
54 
55 	// 		foreach (SimpleDateFormat element ; _dateReceive) {
56 	// 			try {
57 	// 				Date date = cast(Date) element.parseObject(val);
58 	// 				return date.getTime();
59 	// 			} catch (java.lang.Exception e) {
60 	// 				// log.ignore(e);
61 	// 			}
62 	// 		}
63 	// 	}
64 	// 	return -1;
65 	// }
66 }