From 68e473299aba7126caa8c284ce2afe9dc8c939f9 Mon Sep 17 00:00:00 2001 From: Albert Dahlin Date: Wed, 11 Mar 2015 15:09:25 +0100 Subject: [PATCH 1/3] ESI is not used if response content type is application/json --- src/code/Cache/Model/VarnishObserver.php | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/code/Cache/Model/VarnishObserver.php b/src/code/Cache/Model/VarnishObserver.php index daf0148..f777701 100644 --- a/src/code/Cache/Model/VarnishObserver.php +++ b/src/code/Cache/Model/VarnishObserver.php @@ -77,6 +77,14 @@ public function addEsiTag(Varien_Event_Observer $observer) if (!Mage::helper('cache/varnish')->shouldUse()) { return; } + $headers = Mage::app()->getResponse()->getHeaders(); + foreach ($headers as $header) { + if (strtolower($header['name']) == 'content-type') { + if ($header['value'] == 'application/json') { + return; + } + } + } $block = $observer->getEvent()->getBlock(); From 395781ec2e4a1dd726caccbd3f412ad1e2c1dad3 Mon Sep 17 00:00:00 2001 From: Albert Dahlin Date: Wed, 11 Mar 2015 15:16:19 +0100 Subject: [PATCH 2/3] Layout handle varnish_enabled is not set on non-cacned pages --- src/code/Cache/Model/VarnishObserver.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/code/Cache/Model/VarnishObserver.php b/src/code/Cache/Model/VarnishObserver.php index f777701..df69820 100644 --- a/src/code/Cache/Model/VarnishObserver.php +++ b/src/code/Cache/Model/VarnishObserver.php @@ -60,6 +60,11 @@ public function addLayoutHandle(Varien_Event_Observer $observer) if (!Mage::helper('cache/varnish')->shouldUse()) { return; } + $request = Mage::app()->getRequest(); + + if (!Mage::helper('cache/varnish')->getRequestTtl($request)) { + return; + } $observer->getEvent() ->getLayout() From 67e146a6d413f81ad90b81d430f8635f7934d9cf Mon Sep 17 00:00:00 2001 From: Albert Dahlin Date: Wed, 11 Mar 2015 15:16:58 +0100 Subject: [PATCH 3/3] ESI is now disabled on message block if page is not cached --- src/code/Cache/Block/Messages.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/code/Cache/Block/Messages.php b/src/code/Cache/Block/Messages.php index 7e61778..5b207d6 100644 --- a/src/code/Cache/Block/Messages.php +++ b/src/code/Cache/Block/Messages.php @@ -11,12 +11,16 @@ class Made_Cache_Block_Messages extends Mage_Core_Block_Messages { protected function _toHtml() { - if (Mage::helper('cache/varnish')->shouldUse() - && !$this->getBypassVarnish()) { + $helper = Mage::helper('cache/varnish'); + $request = Mage::app()->getRequest(); + if ($helper->shouldUse() + && $helper->getRequestTtl($request) + && !$this->getBypassVarnish() + ) { return Mage::helper('cache/varnish') ->getEsiTag('madecache/varnish/messages'); } return parent::_toHtml(); } -} \ No newline at end of file +}