[ 
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.

Reply via email to