• 
      

    Use etags instead of timestamps for all API resources.

    Review Request #6888 — Created Feb. 3, 2015 and submitted — Latest diff uploaded

    Information

    Review Board
    release-2.0.x
    7a00c6d...

    Reviewers

    A bug was found where fetching a review request API resource, then
    closing an issue, and then fetching again would return the original
    resource with the wrong information, if caching requests. This was due
    to the resource's cache information being based on the last_modified
    timestamp of the review request, and not factoring in other information.
    
    While investigating, I realized there were numerous cases where a
    timestamp was being used without in ways that would cause incorrect
    stale caches, and that most resources had no caching at all.
    
    This change fixes these problems by switching all resources to
    etag-based caching. This adds a little overhead up-front to the request,
    but means that the client can greatly benefit from caching on all
    resources, without fear of the cached version being stale.

    Unit tests pass.

    Couldn't reproduce the caching problem I was hitting after this change.