Forums / Developer / Static Cache generation with HTTP Error

Static Cache generation with HTTP Error

Author Message

Jérôme Vieilledent

Friday 06 February 2009 3:06:15 am

Hi

I would like to know if there is way to avoid static cache generation when an HTTP error has been encountered.
Indeed, I have to make eZPublish send an HTTP error code 500 when a PHP fatal error occurs (I can do that with <i>eZExecution::addFatalErrorHandler()</i>), but I wan't to force the static cache not to generate the static file if it encounters such error code.
It seems to be possible with CURL with <b> CURLOPT_FAILONERROR</b> option, but the only thing I see is to hack <b>eZHTTPTool::getDataByURL()</b> method, adding :

curl_setopt( $ch, CURLOPT_FAILONERROR, 1 );


even if <b>$justCheckURL</b> is <i>false</i>

Or maybe there is another cleaner way to do this ?

Damien Pobel

Saturday 07 February 2009 2:36:50 am

Hi,

For me, it's a real issue, perhaps you can create an issue in the issue tracker ?

Currently you need to hack the kernel to solve it, or perhaps if you use eZ Publish 4, you can play with the autoload system to put you're modified version of the eZHTTPTool class in an extension so that it is loaded instead of the default one.

Damien
Planet eZ Publish.fr : http://www.planet-ezpublish.fr
Certification : http://auth.ez.no/certification/verify/372448
Publications about eZ Publish : http://pwet.fr/tags/keywords/weblog/ez_publish

Jérôme Vieilledent

Saturday 07 February 2009 2:57:02 am

Hi Damien

I'll post an issue in the issue tracker.
For the moment I'll hack the eZHTTPTool class to do what I want. The kernel classes override is a feature in the <i>ezpgenerateautoload.php</i> script (-o option) since 4.1 which is not stable yet and I need it for a project in production (4.0.1)...

Thanks

[Edit] : The posted issue : http://issues.ez.no/IssueView.php?Id=14421&activeItem=1

Damien Pobel

Saturday 07 February 2009 4:12:48 am

Re,

<i>For the moment I'll hack the eZHTTPTool class to do what I want. The kernel classes override is a feature in the ezpgenerateautoload.php script (-o option) since 4.1 which is not stable yet and I need it for a project in production (4.0.1)...</i>

that's true, but there's a workaround with eZ Publish 4.0 you can do the same by hand, just remove the eZHTTPTool related line in autoload/ezp_kernel.php and add a new one with your own class in autoload/ezp_extension.php. After that, to not erase your modification, you have to regenerate the autoload array with the following command line :

php bin/php/ezpgenerateautoloads.php -e

Damien
Planet eZ Publish.fr : http://www.planet-ezpublish.fr
Certification : http://auth.ez.no/certification/verify/372448
Publications about eZ Publish : http://pwet.fr/tags/keywords/weblog/ez_publish

Jérôme Vieilledent

Saturday 07 February 2009 4:19:24 am

Thanks for the hint !