https://github.com/shukitchan/trafficserver-plugins/

Please let me know if it works.

On Wed, May 30, 2012 at 7:17 AM, Jorge Román Novalbos
<jro...@linux-it.es> wrote:
> 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.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>
>>>>>>
>>>
>

Reply via email to