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