hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Fagschlunger (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HTTPCLIENT-1077) CookiePolicy.RFC_2109: Unable to parse expires attribute (Thu, 01-Dec-94 16:00:00 GMT)
Date Fri, 08 Apr 2011 09:31:05 GMT
CookiePolicy.RFC_2109: Unable to parse expires attribute (Thu, 01-Dec-94 16:00:00 GMT)

                 Key: HTTPCLIENT-1077
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1077
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpCookie
    Affects Versions: 4.1.1
         Environment: JVM where de default Locale ist not Locale.US.
            Reporter: Andreas Fagschlunger
            Priority: Minor

In our Application we're facing problems using HttpClient 4.x (didn't have that problem with
HttpClient 3.1). The HttpClient has problems parsing the Cookie's Expires-Attribute:

2011-04-08 10:14:21,647 [btpool0-0] WARN  org.apache.http.client.protocol.ResponseProcessCookies
- Invalid cookie header: "Set-Cookie: dfName=""; Expires=Thu, 01-Dec-94 16:00:00 GMT; Path=/appl/ebp".
Unable to parse expires attribute: Thu

We are using Cookie-Policy RFC2109:

        httpClient = new DefaultHttpClient(connectionManager);
        httpClient.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.RFC_2109);

The problems seems to be the JVM's default Locale, which is in our case de_AT and not en_US.
See following Example:

        System.out.println("Locale=" + Locale.getDefault());
        String[] datePatterns = new String[] {
            DateUtils.PATTERN_RFC1123 };
        for (String pattern : datePatterns) {
            try {
                SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);
                dateFormat.parse("Thu, 01-Dec-94 16:00:00 GMT");
            } catch (ParseException e) {
                System.out.println("Pattern '" + pattern + "' failed.");

The output for me is following:

Pattern 'EEE MMM d HH:mm:ss yyyy' failed.
Pattern 'EEEE, dd-MMM-yy HH:mm:ss zzz' failed.
Pattern 'EEE, dd MMM yyyy HH:mm:ss zzz' failed.

Setting the default Locale to US (Locale.setDefault(Locale.US)), the output changes:

Pattern 'EEE MMM d HH:mm:ss yyyy' failed.
Pattern 'EEE, dd MMM yyyy HH:mm:ss zzz' failed.

So the Date (Thu, 01-Dec-94 16:00:00 GMT) and the pattern (DateUtils.PATTERN_RFC1036: EEEE,
dd-MMM-yy HH:mm:ss zzz) seem to be valid, just the Locale is not explicitly set for the SimpleDateFormat:


I hope I didn't waste your time and this is realy a bug.

Best regards,

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org

View raw message