1212 */ 
1313package  com .ning .http .util ;
1414
15- import  com .ning .http .client .AsyncHttpClientConfig ;
16- import  com .ning .http .client .AsyncHttpProvider ;
17- import  com .ning .http .client .ByteArrayPart ;
18- import  com .ning .http .client .Cookie ;
19- import  com .ning .http .client .FilePart ;
20- import  com .ning .http .client .FluentStringsMap ;
21- import  com .ning .http .client .HttpResponseBodyPart ;
22- import  com .ning .http .client .Part ;
23- import  com .ning .http .client .Request ;
24- import  com .ning .http .client .StringPart ;
25- import  com .ning .http .multipart .ByteArrayPartSource ;
26- import  com .ning .http .multipart .MultipartRequestEntity ;
27- import  com .ning .http .multipart .PartSource ;
28- 
2915import  java .io .ByteArrayInputStream ;
3016import  java .io .FileNotFoundException ;
3117import  java .io .IOException ;
3218import  java .io .InputStream ;
3319import  java .io .SequenceInputStream ;
3420import  java .io .UnsupportedEncodingException ;
3521import  java .net .URI ;
36- import  java .text .ParseException ;
22+ import  java .text .ParsePosition ;
3723import  java .text .SimpleDateFormat ;
3824import  java .util .ArrayList ;
3925import  java .util .Collection ;
26+ import  java .util .Date ;
4027import  java .util .List ;
4128import  java .util .Locale ;
4229import  java .util .Vector ;
4330
31+ import  com .ning .http .client .AsyncHttpClientConfig ;
32+ import  com .ning .http .client .AsyncHttpProvider ;
33+ import  com .ning .http .client .ByteArrayPart ;
34+ import  com .ning .http .client .Cookie ;
35+ import  com .ning .http .client .FilePart ;
36+ import  com .ning .http .client .FluentStringsMap ;
37+ import  com .ning .http .client .HttpResponseBodyPart ;
38+ import  com .ning .http .client .Part ;
39+ import  com .ning .http .client .Request ;
40+ import  com .ning .http .client .StringPart ;
41+ import  com .ning .http .multipart .ByteArrayPartSource ;
42+ import  com .ning .http .multipart .MultipartRequestEntity ;
43+ import  com .ning .http .multipart .PartSource ;
44+ 
4445/** 
4546 * {@link com.ning.http.client.AsyncHttpProvider} common utilities. 
4647 * <p/> 
@@ -59,14 +60,13 @@ protected SimpleDateFormat[] initialValue() {
5960
6061 return  new  SimpleDateFormat []
6162 {
62-  new  SimpleDateFormat ("EEE  MMM d  HH:mm:ss yyyy " , Locale .US ),   //ASCTIME 
63+  new  SimpleDateFormat ("EEE, dd  MMM yyyy  HH:mm:ss zzz " , Locale .US ), // RFC1123 
6364 new  SimpleDateFormat ("EEEE, dd-MMM-yy HH:mm:ss zzz" , Locale .US ), //RFC1036 
65+  new  SimpleDateFormat ("EEE MMM d HH:mm:ss yyyy" , Locale .US ), //ASCTIME 
6466 new  SimpleDateFormat ("EEE, dd MMM yyyy HH:mm:ss z" , Locale .US ),
6567 new  SimpleDateFormat ("EEE, dd-MMM-yyyy HH:mm:ss z" , Locale .US ),
6668 new  SimpleDateFormat ("EEE, dd MMM yyyy HH:mm:ss Z" , Locale .US ),
67-  new  SimpleDateFormat ("EEE, dd-MMM-yyyy HH:mm:ss Z" , Locale .US ),
68-  new  SimpleDateFormat ("EEE, dd MMM yyyy HH:mm:ss zzz" , Locale .US ) // RFC1123 
69- 
69+  new  SimpleDateFormat ("EEE, dd-MMM-yyyy HH:mm:ss Z" , Locale .US )
7070 };
7171 }
7272 };
@@ -563,21 +563,18 @@ public static Cookie parseCookie(String value) {
563563 }
564564
565565 public  static  int  convertExpireField (String  timestring ) throws  Exception  {
566-  Exception  exception  = null ;
567566 String  trimmedTimeString  = removeQuote (timestring .trim ());
568-   long   now  =  System . currentTimeMillis (); 
567+ 
569568 for  (SimpleDateFormat  sdf  : simpleDateFormat .get ()) {
570-  try  {
571-  long  expire  = sdf .parse (trimmedTimeString ).getTime ();
569+  Date  date  = sdf .parse (trimmedTimeString , new  ParsePosition (0 ));
570+  if  (date  != null ) {
571+  long  now  = System .currentTimeMillis ();
572+  long  expire  = date .getTime ();
572573 return  (int ) ((expire  - now ) / 1000 );
573-  } catch  (ParseException  e ) {
574-  exception  = e ;
575-  } catch  (NumberFormatException  e ) {
576-  exception  = e ;
577574 }
578575 }
579576
580-  throw  exception ;
577+  throw  new   IllegalArgumentException ( "Not a valid expire field "  +  trimmedTimeString ) ;
581578 }
582579
583580 private  final  static  String  removeQuote (String  s ) {
0 commit comments