function run(&$filter_chain, &$request, &$response)
  {
    if(!$response->is_empty() || !$this->_is_caching_enabled())
    {
      $filter_chain->next();
      return;
    }

    debug :: add_timing_point('full page cache started');

    $cache = new full_page_cache_manager();

    $cache->set_uri($request->get_uri());

    if($contents =& $cache->get())
    {
      debug :: add_timing_point('full page cache read finished');

      $response->write($contents);
      return;
    }

    $filter_chain->next();

    $cache->write($content =& $response->get_response_string());

    debug :: add_timing_point('full page cache write finished');
  }
 function test_write_false_no_uri()
 {
   $cache_manager = new full_page_cache_manager();
   $this->assertFalse($cache_manager->write($content = 'test'));
 }