Reviewers: shindig-dev, chabotc, chabotc,

Description:
MakeRequest has 3 kinds of fetching remote content: 'SIGNED', 'OAUTH'
and 'NONE'. SIGNED and OAUTH contents are not cached. I refactored those
function and use BasicRemoteContent->fetch in MakeRequestHandler.
BasicRemoteContent->fetch will cache all remote content fetchings.

I want to make BasicRemoteContent the same as DefaultRequestPipeline in
Java. So
all remote content request will be handled by BasicRemoteContent and
caching/invalidating seems much easier.

For making CacheStorage a singleton especially for CacheStorageMemcache,
I kinda
think that CacheStorage for each prefix should be different. Or we can
make
CacheStorageMemcache::memcache a singleton.

I added error_report(E_ALL | E_STRICT) for unittest which exposed
failures and I will fix those in next patches.

Please review this at http://codereview.appspot.com/26062

Affected files:
  php/config/container.php
  php/src/common/Cache.php
  php/src/common/CacheStorage.php
  php/src/common/RemoteContent.php
  php/src/common/RemoteContentFetcher.php
  php/src/common/sample/BasicRemoteContent.php
  php/src/common/sample/CacheStorageMemcache.php
  php/src/gadgets/GadgetContext.php
  php/src/gadgets/MakeRequestHandler.php
  php/src/gadgets/ProxyBase.php
  php/src/gadgets/ProxyHandler.php
  php/src/gadgets/SigningFetcher.php
  php/src/gadgets/oauth/OAuthFetcher.php
  php/src/gadgets/oauth/OAuthFetcherFactory.php
  php/test/ShindigAllTests.php
  php/test/common/BasicRemoteContentTest.php
  php/test/common/CacheFileTest.php
  php/test/common/CacheMemcacheTest.php
  php/test/index.php


Reply via email to