Hi,

we use a custom reader component similar to ResourceReader which makes use
of HTTP Headers. In addition to the settings in ResourceReader I want to
disable client caching by setting the "Cache-Control" header (like
HTTPCacheAction does). Thus I have extended the seupHeaders() method to:

private void setupHeaders() {
    Response response = ObjectModelHelper.getResponse(this.objectModel);
    final long MILLISECONDS_PER_SECOND = 1000L;
    Calendar calendar = Calendar.getInstance(DateUtils.UTC_TIME_ZONE);
    String formattedCal = this.formatter.format(calendar);
    if (this.expires > MILLISECONDS_PER_SECOND) {
        calendar.setTimeInMillis(calendar.getTimeInMillis() + this.expires);
        response.setHeader("Expires", this.formatter.format(calendar));
        response.setHeader("Cache-Control", "max-age="
                + Long.toString(this.expires / MILLISECONDS_PER_SECOND));
    } else if (0 <= this.expires) {
        response.setHeader("Expires", formattedCal);
        response.setHeader("Cache-Control", "max-age=0");
    } else if (this.expires == -1) {
        response.setHeader("Expires", "Thu, 01 Jan 2000 00:00:00 GMT");
        response.setHeader("Cache-Control", "no-cache");
        response.setHeader("Pragma", "no-cache");
    }
}

The first two "ifs" are working correctly. But in case of disabled cache
(expires == -1) the "Expires" and "Cache-Control" headers are either not set
or overwritten elsewhere. The "Pragma" header ist set correctly! This is
very strange for me. Any ideas?

Thanks,
Kai


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to