Disable the HTTP cache by default

Review Request #6901 — Created Feb. 4, 2015 and submitted

Information

RBTools
release-0.7.x
7b52378...

Reviewers

Previously, the Review Board server was not generating correct caching
information, resulting in the client side cache not being updated correctly.
Now that it has been fixed server side, the RBTools client needs to perform a
version check to see if the cache should be disabled.

The HTTP cache is now disabled by default and will be enabled upon the first
request to the root resources (/api/), which contains the version number of
the server, if the server is at least the minimum supported version. Currently
the minimum supported version is 2.0.13.

The Transport class and its subclasses now have the machinery available to
enable the API cache.

The HTTP cache for the API now appends both If-None-Match and
If-Modified-Since headers if caching information for both is stored.
Prevously, only one of those headers would be used.

Ran unit tests.

Ran rbt status -d against https://reviews.reviewboard.org and saw that the
request to the /api/ endpoint did not cause a caching logging message, but
all subsequent requests did. This is the expected behaviour as the server is
currently in version 2.1 alpha 0 (dev).

Description From Last Updated

Two blank lines here. Also, constants typically go before non-constants.

chipx86chipx86

Blank line between these.

chipx86chipx86

Can you add a docstring?

chipx86chipx86

This should go below the plain import.

chipx86chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbtools/api/transport/sync.py
        rbtools/api/request.py
        rbtools/api/resource.py
        rbtools/api/cache.py
        rbtools/api/transport/__init__.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbtools/api/transport/sync.py
        rbtools/api/request.py
        rbtools/api/resource.py
        rbtools/api/cache.py
        rbtools/api/transport/__init__.py
    
    
  2. 
      
chipx86
  1. 
      
  2. rbtools/api/cache.py (Diff revision 1)
     
     
     
     
    Show all issues

    Two blank lines here.

    Also, constants typically go before non-constants.

  3. rbtools/api/cache.py (Diff revision 1)
     
     
     
    Show all issues

    Blank line between these.

  4. rbtools/api/request.py (Diff revision 1)
     
     
    Show all issues

    Can you add a docstring?

  5. rbtools/api/resource.py (Diff revision 1)
     
     
    Show all issues

    This should go below the plain import.

  6. 
      
brennie
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        rbtools/api/transport/sync.py
        rbtools/api/request.py
        rbtools/api/resource.py
        rbtools/api/cache.py
        rbtools/api/transport/__init__.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        rbtools/api/transport/sync.py
        rbtools/api/request.py
        rbtools/api/resource.py
        rbtools/api/cache.py
        rbtools/api/transport/__init__.py
    
    
  2. 
      
chipx86
  1. Ship It!
  2. 
      
brennie
brennie
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.7.x (03dbc9e)