[
https://issues.apache.org/jira/browse/SHINDIG-374?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609978#action_12609978
]
Chris Chabot commented on SHINDIG-374:
--------------------------------------
Hi Emilio,
I noticed something funny about this patch:
$this->setCachingHeaders($etag);
..
private function setCachingHeaders()
{
// TODO: Re-implement caching behavior if appropriate.
header("Cache-Control: private; max-age=0", true);
header("Expires: " . gmdate("D, d M Y H:i:s", time() - 3000) . " GMT",
true);
}
In other words the e-tag is never set, so the code never could have been tested
.... And really i much prefer to see patches that you at least tried out in a
few different browsers, and actually ran your self :)
I'm taking a look at the code now but it seems i'll have to modify it a good
bit to cover all the border cases.
> Proxy ignores e-tags / if-modified-since
> ----------------------------------------
>
> Key: SHINDIG-374
> URL: https://issues.apache.org/jira/browse/SHINDIG-374
> Project: Shindig
> Issue Type: Bug
> Components: Gadget Rendering Server (PHP)
> Reporter: Chris Chabot
> Attachments: shindig-http-304-support.patch
>
>
> The ProxyHandler class does it's own header control instead of using the
> generic Servlet one because it requires full control over what headers are
> send.
> However this currently means it doesn't honor if-modified-since and e-tag
> headers, which causes the proxied files to always be re-downloaded by the web
> browser.
> On straight get's it should really:
> - If if-modified-since is set, and the cached file time is within the
> refreshInterval params value, return not-modified
> - Create it's own e-tag's (md5(responseBody)), and if the e-tag's match
> return a not-modified
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.