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.
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>> 
>>>>> 
>>> 

Reply via email to