Great! Which is your git location???? Thanks.
On 30/05/2012, at 16:12, Shu Kit Chan wrote: > The fix is done. I hope it works for you. You can download that again > from my github location. > > On Sun, May 20, 2012 at 12:27 AM, Jorge Román Novalbos > <jro...@linux-it.es> wrote: >> You are right!!! >> >> If I ask for the content without gzip the data are displayed fine. >> >> Many thanks for your help. I'm looking forward the fix. >> >> Jorge >> >> >> On 19/05/2012, at 10:51, Shu Kit Chan wrote: >> >>> I have verified that there is a bug on the plugin. it will not work if >>> the origin server is returning gzip content. >>> >>> I setup a test trafficserver with remap.config to connect to your >>> origin server - ori.servotic.com >>> >>> This will not work. >>> curl --compress -v -H 'Host: www.servotic.com' >>> "http://10.212.114.36/esi/esi.html" >>> >>> But this will >>> curl -v -H 'Host: www.servotic.com' "http://10.212.114.36/esi/esi.html" >>> >>> I will try to fix this once i get back home and will update TS 1249 >>> accordingly >>> https://issues.apache.org/jira/browse/TS-1249 >>> >>> Thanks. >>> >>> Kit >>> >>> On Fri, May 18, 2012 at 11:34 PM, Kit Chan <chanshu...@gmail.com> wrote: >>>> Sorry that i have to go through this multiple times. I am on vacation now >>>> and can't fire a session to debug it myself. I can only guess why it does >>>> not work from traffic.out >>>> >>>> It looks like esi/esi.html is requested and the response is of 126 bytes >>>> in size (gzipped). It looks like the parser does not do well with these >>>> 126 bytes and return empty string after parsing. So you must be not >>>> getting any response body. >>>> >>>> There may be bug in the gunzip of the origin server response. So u can try >>>> to use curl instead of using browser to access the url. This should make >>>> the request/response to not use gzip encoding. >>>> >>>> curl -v -H "Host: www.servotic.com" >>>> "http://your-staging-ts-server/esi/esi.html" >>>> >>>> If the above works, then thats indeed a problem in the plugin. i think i >>>> can take a look and try to fix it once i get back home around 10 days >>>> later. >>>> >>>> Thanks >>>> >>>> Kit >>>> >>>> Sent from my iPhone >>>> >>>> On May 18, 2012, at 1:03 PM, Jorge Román Novalbos <jro...@linux-it.es> >>>> wrote: >>>> >>>>> I have tried writing the whole url in src: >>>>> >>>>> <HTML> >>>>> <BODY> >>>>> The time is: <esi:include src="http://www.servotic.com/date.php"/> >>>>> at this very moment. >>>>> </BODY> >>>>> </HTML> >>>>> >>>>> >>>>> TRaffic.out: >>>>> >>>>> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) >>>>> [isInterceptRequest] Skipping external request >>>>> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) >>>>> [globalHookHandler] handling read request header event... >>>>> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) >>>>> [globalHookHandler] Not setting up intercept >>>>> [May 18 12:56:20.001] Server {47736083166976} DIAG: (plugin_esi) >>>>> [isInterceptRequest] Skipping external request >>>>> [May 18 12:56:20.002] Server {47736083166976} DIAG: (plugin_esi) >>>>> [globalHookHandler] handling cache lookup complete event... >>>>> [May 18 12:56:20.002] Server {47736083166976} DIAG: (plugin_esi) >>>>> [isCacheObjTransformable] cache object's status is 0; not transformable >>>>> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) >>>>> [isInterceptRequest] Skipping external request >>>>> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) >>>>> [globalHookHandler] handling read response header event... >>>>> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) >>>>> [isCacheObjTransformable] cache object's status is 0; not transformable >>>>> [May 18 12:56:20.314] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getClientState] Got request URL >>>>> [http://ori.servotic.com/esi/esi.html?ppppp] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Accept] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Accept] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Accept] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Accept] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header >>>>> [Accept-Encoding] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getClientState] Client accepts gzip encoding; will compress output >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header >>>>> [Accept-Encoding] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Connection] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header [Pragma] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: >>>>> (plugin_esi_vars_0x2372890) [populate] Not retaining header >>>>> [Cache-Control] >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getServerState] Not retaining 'vary: accept-encoding' header >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getServerState] Not retaining 'content-encoding: gzip' header >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getServerState] Not retaining 'X-Esi' header >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [getServerState] Not retaining 'Content-length' header >>>>> [May 18 12:56:20.315] Server {47736083166976} DIAG: (plugin_esi) >>>>> [addTransform] Added transformation (0x0x2372890) >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [init] Set input data type to [GZIPPED_ESI] >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] initialized continuation data >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_fetcher_0x2372890) [_isFetchEvent] Event id 1 not within >>>>> fetch event id range [10000, 10000) >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] handling TS_EVENT_IMMEDIATE... >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] upstream VC has 126 bytes >>>>> available to read >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] Added chunk of 126 bytes starting >>>>> with [] to parse list >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] Consumed 126 bytes from upstream VC >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] Completed reading input... >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_processor_0x2372890) [completeParse] Implicit call to start() >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_parser_0x2372890) [_setup] Returning true for empty data >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_parser_0x2372890) [_completeParse] No data to parse! >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_processor_0x2372890) [_handleParseComplete] Parsed ESI >>>>> document with 0 nodes >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] data ready; going to process doc >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_processor_0x2372890) [process] ESI processed document of size >>>>> 0 starting with [(null)] >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] ESI processor output document of >>>>> size 0 starting with [(null)] >>>>> [May 18 12:56:20.315] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] Compressed document from size 0 to >>>>> 20 bytes >>>>> [May 18 12:56:20.315] Server {47736080008960} DIAG: >>>>> (plugin_esi_fetcher_0x2372890) [_isFetchEvent] Event id 1 not within >>>>> fetch event id range [10000, 10000) >>>>> [May 18 12:56:20.316] Server {47736080008960} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] handling TS_EVENT_IMMEDIATE... >>>>> [May 18 12:56:20.316] Server {47736080008960} DIAG: >>>>> (plugin_esi_0x2372890) [transformData] input_vio NULL, marking >>>>> transformation to be terminated >>>>> [May 18 12:56:20.324] Server {47736062606624} DIAG: (plugin_esi) >>>>> [modifyResponseHeader] Removing header with name [Cache-Control] >>>>> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) >>>>> [modifyResponseHeader] Removing header with name [X-Esi] >>>>> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) >>>>> [modifyResponseHeader] Removing header with name [Age] >>>>> [May 18 12:56:20.325] Server {47736062606624} DIAG: (plugin_esi) >>>>> [modifyResponseHeader] Inspected client-bound headers >>>>> [May 18 12:56:20.336] Server {47736082114304} DIAG: >>>>> (plugin_esi_fetcher_0x2372890) [_isFetchEvent] Event id 103 not within >>>>> fetch event id range [10000, 10000) >>>>> [May 18 12:56:20.337] Server {47736082114304} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] shutting down transformation >>>>> [May 18 12:56:20.348] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [checkXformStatus] Vconn closed >>>>> [May 18 12:56:20.349] Server {47736084219648} DIAG: >>>>> (plugin_esi_fetcher_0x2372890) [_isFetchEvent] Event id 1 not within >>>>> fetch event id range [10000, 10000) >>>>> [May 18 12:56:20.349] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] Transformation closed. >>>>> Post-processing... >>>>> [May 18 12:56:20.349] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] Processing is complete, not >>>>> processing current event 1 >>>>> [May 18 12:56:20.349] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [transformHandler] transformation closed; cleaning >>>>> up data... >>>>> [May 18 12:56:20.349] Server {47736084219648} DIAG: >>>>> (plugin_esi_0x2372890) [~ContData] Destroying continuation data >>>>> >>>>> >>>>> >>>>> >>>>> quid.blog: >>>>> 1337338580.337 335 10.6.0.6 TCP_MISS/200 296 GET >>>>> http://www.servotic.com/esi/esi.html?ppppp - DIRECT/ori.servotic.com >>>>> text/html Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) >>>>> Gecko/20100101 Firefox/12.0 - >>>>> >>>>> >>>>> The remap_config is like this right now: >>>>> >>>>> map http://www.servotic.com/ http://ori.servotic.com/ >>>>> >>>>> I don't know what is wrong… :( >>>>> >>>>> >>>>> >>>>> >>>>> On 17/05/2012, at 23:28, Kit Chan wrote: >>>>> >>>>>> I am not 100% sure but i think the plugin is not smart enough yet to >>>>>> understand the "../" >>>>>> >>>>>> This may work in esi/esi.html >>>>>> >>>>>> <esi:include src="http://www.servotic.com/date.php"/> >>>>>> >>>>>> If not, can u make sure that conf_remap is not doing anything funny for >>>>>> your request? and pls post the traffic.out & squid.blog/squid.log again >>>>>> after the suggested change. >>>>>> >>>>>> Thanks >>>>>> Kit >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On May 17, 2012, at 10:39 PM, Jorge Román Novalbos <jro...@linux-it.es> >>>>>> wrote: >>>>>> >>>>>>> First of all, I'm sorry I'm a newbie in esi tags and it's being so >>>>>>> confusing for me…. >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 17/05/2012, at 21:41, Kit Chan wrote: >>>>>>> >>>>>>>> It seems that the plugin is not getting any response body from the >>>>>>>> first request. >>>>>>>> >>>>>>>>> http://ori.servotic.com/esi/esi.php?p >>>>>>>> >>>>>>>> >>>>>>>> So it thinks that there is no esi markup to interpret. >>>>>>> >>>>>>> >>>>>>> This is the content of esi.html: >>>>>>> >>>>>>> <HTML> >>>>>>> <BODY> >>>>>>> The time is: <esi:include src="../date.php"/> >>>>>>> at this very moment. >>>>>>> </BODY> >>>>>>> </HTML> >>>>>>> >>>>>>> and this is the date.php >>>>>>> >>>>>>> <?php >>>>>>> echo date('l jS \of F Y h:i:s A'); >>>>>>> ?> >>>>>>> >>>>>>> In the vhost configuration I add the X-Esi header like this: >>>>>>> >>>>>>> <Directory /DATA/public/site/html/esi> >>>>>>> Header set Cache-control no-cache >>>>>>> Header set X-Esi 1 >>>>>>> </Directory> >>>>>>> >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Do you have output of squid.blog or squid.log? It should show two >>>>>>>> requests of status 200 if it is all good and successful >>>>>>> >>>>>>> 1337286567.313 347 10.6.0.6 TCP_MISS/200 296 GET >>>>>>> http://www.servotic.com/esi/esi.html - DIRECT/ori.servotic.com >>>>>>> text/html Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:12.0) >>>>>>> Gecko/20100101 Firefox/12.0 - >>>>>>> >>>>>>> >>>>>>>> >>>>>>>> Also what is the corresponding line in remap.config? And what is the >>>>>>>> actual url in the esi include? What is the url of the actual request >>>>>>>> from user? Your esi include url in the first request cannot be >>>>>>>> arbitrary and must be handled by one of the lines in remap.config >>>>>>> >>>>>>> In remap.config: >>>>>>> >>>>>>> map http://www.servotic.com/ http://ori.servotic.com/ >>>>>>> @plugin=conf_remap.so >>>>>>> @pparam=/opt/trafficserver/etc/trafficserver/clientes/servotic.conf >>>>>>> >>>>>>> In my plugin.config >>>>>>> >>>>>>> esi.so >>>>>>> >>>>>>> >>>>>>> The url that i asking for is http://www.servotic.com/esi/esi.html but >>>>>>> pointer to my staging enviroment, I mean this request is not working in >>>>>>> the production enviroment. >>>>>>> >>>>>>>> >>>>>>>> Thanks >>>>>>>> Kit >>>>>>>> >>>>>>>> Sent from my iPhone >>>>>>>> >>>>>>>> On May 17, 2012, at 6:12 PM, Jorge Román Novalbos <jro...@linux-it.es> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> You're right that was one of my problem but it still doesn't work. >>>>>>>>> This is the traffic.out output in debug mode while a esi request is >>>>>>>>> processing: >>>>>>>>> >>>>>>>>> >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [isInterceptRequest] Skipping external request >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [globalHookHandler] handling read request header event... >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [globalHookHandler] Not setting up intercept >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [isInterceptRequest] Skipping external request >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [globalHookHandler] handling cache lookup complete event... >>>>>>>>> [May 17 18:10:36.051] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [isCacheObjTransformable] cache object's status is 0; not >>>>>>>>> transformable >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [isInterceptRequest] Skipping external request >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [globalHookHandler] handling read response header event... >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [isCacheObjTransformable] cache object's status is 0; not >>>>>>>>> transformable >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getClientState] Got request URL >>>>>>>>> [http://ori.servotic.com/esi/esi.php?p] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept-Encoding] >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getClientState] Client accepts gzip encoding; will compress output >>>>>>>>> [May 17 18:10:36.385] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Accept-Encoding] >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: >>>>>>>>> (plugin_esi_vars_0x2b6c90dcd480) [populate] Not retaining header >>>>>>>>> [Connection] >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getServerState] Not retaining 'X-Esi' header >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getServerState] Not retaining 'vary: accept-encoding' header >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getServerState] Not retaining 'content-encoding: gzip' header >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [getServerState] Not retaining 'Content-length' header >>>>>>>>> [May 17 18:10:36.386] Server {47745214236416} DIAG: (plugin_esi) >>>>>>>>> [addTransform] Added transformation (0x0x2b6c90dcd480) >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [init] Set input data type to >>>>>>>>> [GZIPPED_ESI] >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] initialized >>>>>>>>> continuation data >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_fetcher_0x2b6c90dcd480) [_isFetchEvent] Event id 1 not >>>>>>>>> within fetch event id range [10000, 10000) >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] handling >>>>>>>>> TS_EVENT_IMMEDIATE... >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] upstream VC has 126 bytes >>>>>>>>> available to read >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] Added chunk of 126 bytes >>>>>>>>> starting with [] to parse list >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] Consumed 126 bytes from >>>>>>>>> upstream VC >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] Completed reading input... >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_processor_0x2b6c90dcd480) [completeParse] Implicit call >>>>>>>>> to start() >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_parser_0x2b6c90dcd480) [_setup] Returning true for empty >>>>>>>>> data >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_parser_0x2b6c90dcd480) [_completeParse] No data to parse! >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_processor_0x2b6c90dcd480) [_handleParseComplete] Parsed >>>>>>>>> ESI document with 0 nodes >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] data ready; going to >>>>>>>>> process doc >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_processor_0x2b6c90dcd480) [process] ESI processed >>>>>>>>> document of size 0 starting with [(null)] >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] ESI processor output >>>>>>>>> document of size 0 starting with [(null)] >>>>>>>>> [May 17 18:10:36.386] Server {47745215289088} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformData] Compressed document from >>>>>>>>> size 0 to 20 bytes >>>>>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) >>>>>>>>> [modifyResponseHeader] Removing header with name [Cache-Control] >>>>>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) >>>>>>>>> [modifyResponseHeader] Removing header with name [X-Esi] >>>>>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) >>>>>>>>> [modifyResponseHeader] Removing header with name [Age] >>>>>>>>> [May 17 18:10:36.387] Server {47745216341760} DIAG: (plugin_esi) >>>>>>>>> [modifyResponseHeader] Inspected client-bound headers >>>>>>>>> [May 17 18:10:36.387] Server {47745213183744} DIAG: >>>>>>>>> (plugin_esi_fetcher_0x2b6c90dcd480) [_isFetchEvent] Event id 103 not >>>>>>>>> within fetch event id range [10000, 10000) >>>>>>>>> [May 17 18:10:36.387] Server {47745213183744} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] shutting down >>>>>>>>> transformation >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [checkXformStatus] Vconn closed >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_fetcher_0x2b6c90dcd480) [_isFetchEvent] Event id 1 not >>>>>>>>> within fetch event id range [10000, 10000) >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] Transformation closed. >>>>>>>>> Post-processing... >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] Processing is >>>>>>>>> complete, not processing current event 1 >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [transformHandler] transformation closed; >>>>>>>>> cleaning up data... >>>>>>>>> [May 17 18:10:36.398] Server {47745194728736} DIAG: >>>>>>>>> (plugin_esi_0x2b6c90dcd480) [~ContData] Destroying continuation data >>>>>>>>> >>>>>>>>> >>>>>>>>> On 17/05/2012, at 17:23, Kit Chan wrote: >>>>>>>>> >>>>>>>>>> Without looking too deep into all info, i think the problem is that >>>>>>>>>> u need to have a response header of >>>>>>>>>> >>>>>>>>>> X-Esi: 1 >>>>>>>>>> >>>>>>>>>> with esi.html >>>>>>>>>> >>>>>>>>>> Sent from my iPhone >>>>>>>>>> >>>>>>>>>> On May 16, 2012, at 6:01 PM, Jorge Román Novalbos >>>>>>>>>> <jro...@linux-it.es> wrote: >>>>>>>>>> >>>>>>>>>>> I have the plugin compiled. >>>>>>>>>>> >>>>>>>>>>> Finally I downloaded the sources from >>>>>>>>>>> https://github.com/shukitchan/trafficserver-plugins/ with the >>>>>>>>>>> problems fixes. >>>>>>>>>>> >>>>>>>>>>> Now I'm trying to test the plugin. >>>>>>>>>>> >>>>>>>>>>> For this test i have created two file: >>>>>>>>>>> >>>>>>>>>>> - esi.html >>>>>>>>>>> >>>>>>>>>>> <HTML> >>>>>>>>>>> <BODY> >>>>>>>>>>> The time is: <esi:include src="http://www.example.com/esi.php"/> >>>>>>>>>>> at this very moment. >>>>>>>>>>> </BODY> >>>>>>>>>>> </HTML> >>>>>>>>>>> >>>>>>>>>>> - esi.php >>>>>>>>>>> >>>>>>>>>>> <?php >>>>>>>>>>> echo date('l jS \of F Y h:i:s A'); >>>>>>>>>>> ?> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> When i ask for esi.html the date is not displayed, so esi plugin it >>>>>>>>>>> doesn't work. >>>>>>>>>>> >>>>>>>>>>> My question, ¿Do i have to activate the ESI in order to process >>>>>>>>>>> that url? Sorry, but i can't find much documentation about how to >>>>>>>>>>> implement ATS with ESI tags. >>>>>>>>>>> >>>>>>>>>>> P.S: I have activated the plugin in plugin.config >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On 16/05/2012, at 12:22, Jorge Román Novalbos wrote: >>>>>>>>>>> >>>>>>>>>>>> I am focusing with compile the pluging using the make command and >>>>>>>>>>>> i have achieved some advances. >>>>>>>>>>>> >>>>>>>>>>>> I have installed some packages (libboost1.42-dev and >>>>>>>>>>>> gcc-4.4-locales) and the error now is: >>>>>>>>>>>> >>>>>>>>>>>> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make >>>>>>>>>>>> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc >>>>>>>>>>>> lib/*.cc fetcher/*.cc -o esi.so >>>>>>>>>>>> compiling plugin.cc -> plugin.lo >>>>>>>>>>>> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe >>>>>>>>>>>> -Wall -Werror -O3 -feliminate-unused-debug-symbols >>>>>>>>>>>> -fno-strict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc -o >>>>>>>>>>>> plugin.lo >>>>>>>>>>>> En el fichero incluído de /usr/include/c++/4.4/ext/hash_map:60, >>>>>>>>>>>> de lib/StringHash.h:29, >>>>>>>>>>>> de lib/EsiProcessor.h:31, >>>>>>>>>>>> de plugin.cc:34: >>>>>>>>>>>> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: >>>>>>>>>>>> #warning This file includes at least one deprecated or antiquated >>>>>>>>>>>> header which may be removed without further notice at a future >>>>>>>>>>>> date. Please use a non-deprecated interface with equivalent >>>>>>>>>>>> functionality instead. For a listing of replacement headers and >>>>>>>>>>>> interfaces, consult the file backward_warning.h. To disable this >>>>>>>>>>>> warning use -Wno-deprecated. >>>>>>>>>>>> plugin.cc: In function ‘void cacheNodeList(ContData*)’: >>>>>>>>>>>> plugin.cc:453: error: conversión inválida de ‘const sockaddr*’ a >>>>>>>>>>>> ‘unsigned int’ >>>>>>>>>>>> plugin.cc:453: error: conversión inválida de ‘tsapi_cont*’ a ‘int’ >>>>>>>>>>>> plugin.cc:453: error: no se puede convertir ‘TSFetchWakeUpOptions’ >>>>>>>>>>>> a ‘tsapi_cont*’ para el argumento ‘5’ para ‘void TSFetchUrl(const >>>>>>>>>>>> char*, int, unsigned int, int, tsapi_cont*, TSFetchWakeUpOptions, >>>>>>>>>>>> TSFetchEvent)’ >>>>>>>>>>>> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib >>>>>>>>>>>> -Ifetcher/ -g -pipe -Wall -Werror -O3 >>>>>>>>>>>> -feliminate-unused-debug-symbols -fno-strict-aliasing >>>>>>>>>>>> -Wno-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>>>>> make: *** [all] Error 1 >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> I'm debuging the make command with strace but I'm not able to fix >>>>>>>>>>>> the problem. Some advices? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On 16/05/2012, at 10:51, Jorge Román Novalbos wrote: >>>>>>>>>>>> >>>>>>>>>>>>> Hi all, >>>>>>>>>>>>> >>>>>>>>>>>>> I'm compiling the ESI plugin in my trafficserver-3.0.4. I >>>>>>>>>>>>> downloaded the plugins from repository and i have followed the >>>>>>>>>>>>> next steps: >>>>>>>>>>>>> >>>>>>>>>>>>> 1. cd trafficserver-plugins/esi >>>>>>>>>>>>> 2. /opt/trafficserver/bin/tsxs -o esi.so -c serverIntercept.cc >>>>>>>>>>>>> 3 /opt/trafficserver/bin/tsxs -o esi.so -i >>>>>>>>>>>>> 4 edit /opt/trafficserver/etc/trafficserver/plugin.config an add >>>>>>>>>>>>> esi.so >>>>>>>>>>>>> 5. Restart trafficserver daemon. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> The traffic_server process never start because can't load the esi >>>>>>>>>>>>> plugin. The traffic.out show these lines: >>>>>>>>>>>>> >>>>>>>>>>>>> [May 16 10:31:49.263] Server {47992987118880} ERROR: unable to >>>>>>>>>>>>> find TSPluginInit function >>>>>>>>>>>>> '/opt/trafficserver-3.0.4/libexec/trafficserver/esi.so': >>>>>>>>>>>>> /opt/trafficserver-3.0.4/libexec/trafficserver/esi.so: undefined >>>>>>>>>>>>> symbol: TSPluginInit >>>>>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: >>>>>>>>>>>>> [LocalManager::pollMgmtProcessServer] Server Process terminated >>>>>>>>>>>>> due to Sig 6: Aborted >>>>>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: (last >>>>>>>>>>>>> system error 2: No such file or directory) >>>>>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: >>>>>>>>>>>>> [Alarms::signalAlarm] Server Process was reset >>>>>>>>>>>>> [May 16 10:31:50.361] Manager {140531591419680} ERROR: (last >>>>>>>>>>>>> system error 2: No such file or director y) >>>>>>>>>>>>> >>>>>>>>>>>>> Obviously something is wrong in esi pluging but I don't know if i >>>>>>>>>>>>> am doing some step wrong. >>>>>>>>>>>>> >>>>>>>>>>>>> I have tried to use the Makefile file in esi source but never >>>>>>>>>>>>> compile. This is the error: >>>>>>>>>>>>> >>>>>>>>>>>>> root@ts1:~/ATS-plugins/trafficserver-plugins/esi# make >>>>>>>>>>>>> tsxs -v -I lib -I fetcher/ -C plugin.cc serverIntercept.cc >>>>>>>>>>>>> lib/*.cc fetcher/*.cc -o esi.so >>>>>>>>>>>>> compiling plugin.cc -> plugin.lo >>>>>>>>>>>>> g++ -I/opt/trafficserver-3.0.4/include -Ilib -Ifetcher/ -g -pipe >>>>>>>>>>>>> -Wall -Werror -O3 -feliminate-unused-debug-symbols >>>>>>>>>>>>> -fno-strict-aliasing -Wno-invalid-offsetof -fpic -c plugin.cc -o >>>>>>>>>>>>> plugin.lo >>>>>>>>>>>>> In file included from /usr/include/c++/4.4/ext/hash_map:60, >>>>>>>>>>>>> from lib/StringHash.h:29, >>>>>>>>>>>>> from lib/EsiProcessor.h:31, >>>>>>>>>>>>> from plugin.cc:34: >>>>>>>>>>>>> /usr/include/c++/4.4/backward/backward_warning.h:28:2: error: >>>>>>>>>>>>> #warning This file includes at least one deprecated or antiquated >>>>>>>>>>>>> header which may be removed without further notice at a future >>>>>>>>>>>>> date. Please use a non-deprecated interface with equivalent >>>>>>>>>>>>> functionality instead. For a listing of replacement headers and >>>>>>>>>>>>> interfaces, consult the file backward_warning.h. To disable this >>>>>>>>>>>>> warning use -Wno-deprecated. >>>>>>>>>>>>> In file included from lib/EsiProcessor.h:35, >>>>>>>>>>>>> from plugin.cc:34: >>>>>>>>>>>>> lib/Variables.h:29:33: error: boost/noncopyable.hpp: No existe el >>>>>>>>>>>>> fichero o el directorio >>>>>>>>>>>>> In file included from lib/EsiProcessor.h:35, >>>>>>>>>>>>> from plugin.cc:34: >>>>>>>>>>>>> lib/Variables.h:38: error: ‘boost’ has not been declared >>>>>>>>>>>>> lib/Variables.h:38: error: expected ‘{’ before ‘noncopyable’ >>>>>>>>>>>>> lib/Variables.h:38: error: invalid type in declaration before ‘{’ >>>>>>>>>>>>> token >>>>>>>>>>>>> cc1plus: warnings being treated as errors >>>>>>>>>>>>> lib/Variables.h:38: error: extended initializer lists only >>>>>>>>>>>>> available with -std=c++0x or -std=gnu++0x >>>>>>>>>>>>> lib/Variables.h:40: error: expected primary-expression before >>>>>>>>>>>>> ‘public’ >>>>>>>>>>>>> lib/Variables.h:40: error: expected ‘}’ before ‘public’ >>>>>>>>>>>>> lib/Variables.h:40: error: expected ‘,’ or ‘;’ before ‘public’ >>>>>>>>>>>>> lib/Variables.h: In function ‘void EsiLib::populate(const char*, >>>>>>>>>>>>> int)’: >>>>>>>>>>>>> lib/Variables.h:60: error: ‘_query_string_parsed’ was not >>>>>>>>>>>>> declared in this scope >>>>>>>>>>>>> lib/Variables.h:61: error: ‘_parseQueryString’ was not declared >>>>>>>>>>>>> in this scope >>>>>>>>>>>>> lib/Variables.h:63: error: ‘_query_string’ was not declared in >>>>>>>>>>>>> this scope >>>>>>>>>>>>> lib/Variables.h: At global scope: >>>>>>>>>>>>> lib/Variables.h:70: error: non-member function ‘const >>>>>>>>>>>>> std::string& EsiLib::getValue(const std::string&)’ cannot have >>>>>>>>>>>>> cv-qualifier >>>>>>>>>>>>> lib/Variables.h:73: error: non-member function ‘const >>>>>>>>>>>>> std::string& EsiLib::getValue(const char*, int)’ cannot have >>>>>>>>>>>>> cv-qualifier >>>>>>>>>>>>> lib/Variables.h: In function ‘const std::string& >>>>>>>>>>>>> EsiLib::getValue(const char*, int)’: >>>>>>>>>>>>> lib/Variables.h:75: error: ‘EMPTY_STRING’ was not declared in >>>>>>>>>>>>> this scope >>>>>>>>>>>>> lib/Variables.h: At global scope: >>>>>>>>>>>>> lib/Variables.h:88: error: declaration of ‘~EsiLib::Variables’ as >>>>>>>>>>>>> non-member >>>>>>>>>>>>> lib/Variables.h:90: error: expected unqualified-id before >>>>>>>>>>>>> ‘private’ >>>>>>>>>>>>> lib/Variables.h:99: error: storage size of >>>>>>>>>>>>> ‘EsiLib::SIMPLE_HEADERS’ isn't known >>>>>>>>>>>>> lib/Variables.h:102: error: storage size of >>>>>>>>>>>>> ‘EsiLib::SPECIAL_HEADERS’ isn't known >>>>>>>>>>>>> lib/Variables.h:105: error: storage size of >>>>>>>>>>>>> ‘EsiLib::NORM_SIMPLE_HEADERS’ isn't known >>>>>>>>>>>>> lib/Variables.h:106: error: storage size of >>>>>>>>>>>>> ‘EsiLib::NORM_SPECIAL_HEADERS’ isn't known >>>>>>>>>>>>> lib/Variables.h:114: error: non-member function ‘std::string& >>>>>>>>>>>>> EsiLib::_toUpperCase(std::string&)’ cannot have cv-qualifier >>>>>>>>>>>>> lib/Variables.h:115: error: non-member function ‘int >>>>>>>>>>>>> EsiLib::_searchHeaders(const std::string*, const char*, int)’ >>>>>>>>>>>>> cannot have cv-qualifier >>>>>>>>>>>>> lib/Variables.h:117: error: non-member function ‘bool >>>>>>>>>>>>> EsiLib::_parseDictVariable(const std::string&, const char*&, >>>>>>>>>>>>> int&, const char*&, int&)’ cannot have cv-qualifier >>>>>>>>>>>>> lib/Variables.h:150: error: non-member function ‘const >>>>>>>>>>>>> std::string& EsiLib::_getSubCookieValue(const std::string&, >>>>>>>>>>>>> size_t)’ cannot have cv-qualifier >>>>>>>>>>>>> lib/Variables.h:154: error: expected declaration before ‘}’ token >>>>>>>>>>>>> lib/Variables.h:99: error: ‘EsiLib::SIMPLE_HEADERS’ defined but >>>>>>>>>>>>> not used >>>>>>>>>>>>> lib/Variables.h:102: error: ‘EsiLib::SPECIAL_HEADERS’ defined but >>>>>>>>>>>>> not used >>>>>>>>>>>>> lib/Variables.h:105: error: ‘EsiLib::NORM_SIMPLE_HEADERS’ defined >>>>>>>>>>>>> but not used >>>>>>>>>>>>> lib/Variables.h:106: error: ‘EsiLib::NORM_SPECIAL_HEADERS’ >>>>>>>>>>>>> defined but not used >>>>>>>>>>>>> Compile failed: g++ -I/opt/trafficserver-3.0.4/include -Ilib >>>>>>>>>>>>> -Ifetcher/ -g -pipe -Wall -Werror -O3 >>>>>>>>>>>>> -feliminate-unused-debug-symbols -fno-strict-aliasing >>>>>>>>>>>>> -Wno-invalid-offsetof -fpic -c plugin.cc -o plugin.lo >>>>>>>>>>>>> make: *** [all] Error 1 >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> could anybody help me? >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks to all developer for this amaizing software. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>> >>>>> >>