You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@trafficserver.apache.org by Shu Kit Chan <ch...@gmail.com> on 2012/06/01 08:00:59 UTC

Re: ESI Plugin

It actually runs fine for me. I try to replicate the situation you
describe. You can try the following a few times to see your desired
effect.

curl --compress -v 'http://10.212.114.36/datetest.php'

However, I can see that the response of your server is not quite right
with the cache-control header.

curl -v 'http://ori.servotic.com/date4.php'
* About to connect() to ori.servotic.com port 80 (#0)
*   Trying 50.17.195.74... connected
* Connected to ori.servotic.com (50.17.195.74) port 80 (#0)
> GET /date4.php HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
> Host: ori.servotic.com
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Fri, 01 Jun 2012 05:58:46 GMT
< Server: Apache
< Cache-control: max-age=86400
< Vary: Accept-Encoding
< Content-Length: 35
< Content-Type: text/html; charset=UTF-8
<
* Connection #0 to host ori.servotic.com left intact
* Closing connection #0
Friday 1st of June 2012 07:58:46 AM

The max-age is 86400. Perhaps you have some apache directives to fix
the max-age accordingly. I am not too sure if that's your problem or
not.

Thanks.

Kit


On Thu, May 31, 2012 at 7:12 AM, Jorge Román Novalbos
<jr...@linux-it.es> wrote:
> Of course i did, ;)
>
>
> On 31/05/2012, at 16:04, Shu Kit Chan wrote:
>
>> I can take a look later today. But first, a stupid question from me.
>> Did you turn on http caching in ats (inside record.config)?
>>
>> On Thu, May 31, 2012 at 6:42 AM, Jorge Román Novalbos
>> <jr...@linux-it.es> wrote:
>>> Hi,
>>>
>>> I have a new problem with ESI tags.
>>>
>>> I have a html file with four esi:includes like this:
>>>
>>> <HTML>
>>> <BODY>
>>> Time1: <esi:include src="http://www.servotic.com/date.php"/><br>
>>> Time2: <esi:include src="http://www.servotic.com/date2.php"/><br>
>>> Time3: <esi:include src="http://www.servotic.com/date3.php"/><br>
>>> Time4: <esi:include src="http://www.servotic.com/date4.php"/><br>
>>> </BODY>
>>> </HTML>
>>>
>>>
>>> The dateX.php file are all the same but the cache header:
>>> date.php
>>> <?php
>>>        header ("Cache-control: no-cache");
>>>        echo date('l jS \of F Y h:i:s A');
>>> ?>
>>>
>>> date2.php
>>> <?php
>>>        header ("Cache-control: max-age=5");
>>>        echo date('l jS \of F Y h:i:s A');
>>> ?>
>>>
>>> date3.php
>>> <?php
>>>        header ("Cache-control: max-age=10s");
>>>        echo date('l jS \of F Y h:i:s A');
>>> ?>
>>>
>>> date4.php
>>> <?php
>>>        header ("Cache-control: max-age=30");
>>>        echo date('l jS \of F Y h:i:s A');
>>> ?>
>>>
>>>
>>>
>>> When I request the esi.html file the output is alwais the same:
>>>
>>> Time1: Thursday 31st of May 2012 03:17:06 PM
>>> Time2: Thursday 31st of May 2012 03:17:06 PM
>>> Time3: Thursday 31st of May 2012 03:17:06 PM
>>> Time4: Thursday 31st of May 2012 03:17:06 PM
>>>
>>> That is right in the first request but the next one should be diferent.
>>>
>>> For example:
>>>
>>> Time1: Thursday 31st of May 2012 03:17:12 PM (no-cache, should change)
>>> Time2: Thursday 31st of May 2012 03:17:12 PM (cache 5s, should change)
>>> Time3: Thursday 31st of May 2012 03:17:06 PM (cache 10s, shouldn't change)
>>> Time4: Thursday 31st of May 2012 03:17:06 PM (cache 30s shouldn't change)
>>>
>>>
>>> My question, How i can to load the 4 php file with diferente cache time.
>>>
>>>
>>> This is the debut output:
>>>
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [isInterceptRequest] Skipping external request
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [globalHookHandler] handling read request header event...
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [globalHookHandler] Not setting up intercept
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [isInterceptRequest] Skipping external request
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [globalHookHandler] handling cache lookup complete event...
>>> [May 31 15:41:09.852] Server {47283489715968} DIAG: (plugin_esi) [isCacheObjTransformable] cache object's status is 0; not transformable
>>> [May 31 15:41:10.148] Server {47283489715968} DIAG: (plugin_esi) [isInterceptRequest] Skipping external request
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [globalHookHandler] handling read response header event...
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [isCacheObjTransformable] cache object's status is 0; not transformable
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getClientState] Got request URL [http://ori.servotic.com/esi/esi.html]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept-Encoding]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getClientState] Client accepts gzip encoding; will compress output
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Accept-Encoding]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Connection]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Pragma]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi_vars_0x2bf05a0) [populate] Not retaining header [Cache-Control]
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getServerState] Not retaining 'vary: accept-encoding' header
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getServerState] Not retaining 'content-encoding: gzip' header
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getServerState] Not retaining 'X-Esi' header
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [getServerState] Not retaining 'Content-length' header
>>> [May 31 15:41:10.149] Server {47283489715968} DIAG: (plugin_esi) [addTransform] Added transformation (0x0x2bf05a0)
>>> [May 31 15:41:10.149] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [init] Set input data type to [GZIPPED_ESI]
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] initialized continuation data
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [_isFetchEvent] Event id 1 not within fetch event id range [10000, 10000)
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] handling TS_EVENT_IMMEDIATE...
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] upstream VC has 128 bytes available to read
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] Added chunk of 128 bytes starting with [] to parse list
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] Consumed 128 bytes from upstream VC
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] Completed reading input...
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [addParseData] Implicit call to start()
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse], Adding data of size 21 before (newly found) ESI tag as PRE node
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_compareData] string [include ] is equal to data at position 26
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Found [INCLUDE] tag at position 21
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_searchData] Found full match of /> in [src="...] at position 72
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Handling include tag...
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_processIncludeTag] Added include tag with url [http://www.servotic.com/date.php]
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse], Adding data of size 12 before (newly found) ESI tag as PRE node
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_compareData] string [include ] is equal to data at position 91
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Found [INCLUDE] tag at position 86
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_searchData] Found full match of /> in [src="...] at position 138
>>> [May 31 15:41:10.150] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Handling include tag...
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_processIncludeTag] Added include tag with url [http://www.servotic.com/date2.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse], Adding data of size 12 before (newly found) ESI tag as PRE node
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_compareData] string [include ] is equal to data at position 157
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Found [INCLUDE] tag at position 152
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_searchData] Found full match of /> in [src="...] at position 204
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Handling include tag...
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_processIncludeTag] Added include tag with url [http://www.servotic.com/date3.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse], Adding data of size 12 before (newly found) ESI tag as PRE node
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_compareData] string [include ] is equal to data at position 223
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Found [INCLUDE] tag at position 218
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_searchData] Found full match of /> in [src="...] at position 270
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Handling include tag...
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_processIncludeTag] Added include tag with url [http://www.servotic.com/date4.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Added 8 node(s) during parse
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_preprocess] Adding fetch request for url [http://www.servotic.com/date.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_vars_0x2bf05a0) [expand] Returning final expanded expression [http://www.servotic.com/date.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_failureInfo) [_preprocess] URL request [http://www.servotic.com/date.php] 173141280
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [_buildHeadersString] Building header string...
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [addFetchRequest] Successfully added fetch request for URL [http://www.servotic.com/date.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_preprocess] Adding fetch request for url [http://www.servotic.com/date2.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_vars_0x2bf05a0) [expand] Returning final expanded expression [http://www.servotic.com/date2.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_failureInfo) [_preprocess] URL request [http://www.servotic.com/date2.php] 173141280
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [addFetchRequest] Successfully added fetch request for URL [http://www.servotic.com/date2.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_preprocess] Adding fetch request for url [http://www.servotic.com/date3.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_vars_0x2bf05a0) [expand] Returning final expanded expression [http://www.servotic.com/date3.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_failureInfo) [_preprocess] URL request [http://www.servotic.com/date3.php] 173141280
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [addFetchRequest] Successfully added fetch request for URL [http://www.servotic.com/date3.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_preprocess] Adding fetch request for url [http://www.servotic.com/date4.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_vars_0x2bf05a0) [expand] Returning final expanded expression [http://www.servotic.com/date4.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_failureInfo) [_preprocess] URL request [http://www.servotic.com/date4.php] 173141280
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [addFetchRequest] Successfully added fetch request for URL [http://www.servotic.com/date4.php]
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_setup] Returning true for empty data
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Adding trailing text of size 21 starting at [<br>
>>> ] as a PRE node
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_parser_0x2bf05a0) [_parse] Added 1 node(s) during parse
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_handleParseComplete] Parsed ESI document with 9 nodes
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] Data not available yet; cannot process document
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling read request header event...
>>> [May 31 15:41:10.151] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] Not setting up intercept
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling cache lookup complete event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isCacheObjTransformable] doc found in cache, will add transformation
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isTxnTransformable] ESI header [X-Esi] not found
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling read request header event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] Not setting up intercept
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling cache lookup complete event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isCacheObjTransformable] doc found in cache, will add transformation
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isTxnTransformable] ESI header [X-Esi] not found
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling read request header event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] Not setting up intercept
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling cache lookup complete event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isCacheObjTransformable] doc found in cache, will add transformation
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isTxnTransformable] ESI header [X-Esi] not found
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling read request header event...
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] Not setting up intercept
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [isInterceptRequest] Method [GET] invalid, [POST] expected
>>> [May 31 15:41:10.152] Server {47283468102944} DIAG: (plugin_esi) [globalHookHandler] handling cache lookup complete event...
>>> [May 31 15:41:10.153] Server {47283468102944} DIAG: (plugin_esi) [isCacheObjTransformable] doc found in cache, will add transformation
>>> [May 31 15:41:10.153] Server {47283468102944} DIAG: (plugin_esi) [isTxnTransformable] ESI header [X-Esi] not found
>>> [May 31 15:41:10.153] Server {47283485505280} DIAG: (plugin_esi) [modifyResponseHeader] Removing header with name [Cache-Control]
>>> [May 31 15:41:10.153] Server {47283485505280} DIAG: (plugin_esi) [modifyResponseHeader] Removing header with name [X-Esi]
>>> [May 31 15:41:10.153] Server {47283485505280} DIAG: (plugin_esi) [modifyResponseHeader] Removing header with name [Age]
>>> [May 31 15:41:10.153] Server {47283485505280} DIAG: (plugin_esi) [modifyResponseHeader] Inspected client-bound headers
>>> [May 31 15:41:10.164] Server {47283488663296} DIAG: (plugin_esi_fetcher_0x2bf05a0) [_isFetchEvent] Event id 1 not within fetch event id range [10000, 10012)
>>> [May 31 15:41:10.164] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] handling TS_EVENT_IMMEDIATE...
>>> [May 31 15:41:10.164] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformData] input_vio NULL, but data needs to be fetched. Returning control
>>> [May 31 15:41:11.673] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:12.678] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:13.686] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:14.698] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:16.674] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:17.685] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:18.694] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:19.708] Manager {139981862299392} NOTE: [drainIncomingChannel] file req: records.config v: 107 bytes: 28401
>>> [May 31 15:41:20.148] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Handling fetch event 10003...
>>> [May 31 15:41:20.148] Server {47283488663296} DIAG: (plugin_esi_fetcher_0x2bf05a0) [handleFetchEvent] Inserted page data of size 37 starting with [Thursd] for request [http://www.servotic.com/date2.php]
>>> [May 31 15:41:20.148] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Handling fetch event 10009...
>>> [May 31 15:41:20.148] Server {47283488663296} DIAG: (plugin_esi_fetcher_0x2bf05a0) [handleFetchEvent] Inserted page data of size 37 starting with [Thursd] for request [http://www.servotic.com/date4.php]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Handling fetch event 10000...
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [handleFetchEvent] Inserted page data of size 37 starting with [Thursd] for request [http://www.servotic.com/date.php]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Handling fetch event 10006...
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [handleFetchEvent] Inserted page data of size 37 starting with [Thursd] for request [http://www.servotic.com/date3.php]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] fetcher is ready with data, going into process stage
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] input_vio NULL, but processing needs to (and can) be completed
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] data ready; going to process doc
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [PRE] with data of size 21 starting with [<HTML...]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [INCLUDE] with data of size 0 starting with [(null...]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [getData] Found data for URL [http://www.servotic.com/date.php] of size 37 starting with [Thurs]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_getIncludeData] Got content successfully for URL [http://www.servotic.com/date.php]
>>> [May 31 15:41:20.156] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_processEsiNode] Processed ESI [INCLUDE] node
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [PRE] with data of size 12 starting with [<br>
>>> ...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [INCLUDE] with data of size 0 starting with [(null...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [getData] Found data for URL [http://www.servotic.com/date2.php] of size 37 starting with [Thurs]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_getIncludeData] Got content successfully for URL [http://www.servotic.com/date2.php]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_processEsiNode] Processed ESI [INCLUDE] node
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [PRE] with data of size 12 starting with [<br>
>>> ...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [INCLUDE] with data of size 0 starting with [(null...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [getData] Found data for URL [http://www.servotic.com/date3.php] of size 37 starting with [Thurs]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_getIncludeData] Got content successfully for URL [http://www.servotic.com/date3.php]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_processEsiNode] Processed ESI [INCLUDE] node
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [PRE] with data of size 12 starting with [<br>
>>> ...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [INCLUDE] with data of size 0 starting with [(null...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_fetcher_0x2bf05a0) [getData] Found data for URL [http://www.servotic.com/date4.php] of size 37 starting with [Thurs]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_getIncludeData] Got content successfully for URL [http://www.servotic.com/date4.php]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [_processEsiNode] Processed ESI [INCLUDE] node
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] Processing ESI node [PRE] with data of size 21 starting with [<br>
>>> ...]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_processor_0x2bf05a0) [process] ESI processed document of size 226 starting with [<HTML>
>>> <BO]
>>> [May 31 15:41:20.157] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] ESI processor output document of size 226 starting with [<HTML>
>>> <BO]
>>> [May 31 15:41:20.158] Server {47283468102944} DIAG: (plugin_esi_0x2bf05a0) [transformData] Compressed document from size 226 to 99 bytes
>>> [May 31 15:41:20.163] Server {47283486557952} DIAG: (plugin_esi_fetcher_0x2bf05a0) [_isFetchEvent] Event id 103 not within fetch event id range [10000, 10012)
>>> [May 31 15:41:20.163] Server {47283486557952} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] shutting down transformation
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [checkXformStatus] Vconn closed
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_fetcher_0x2bf05a0) [_isFetchEvent] Event id 1 not within fetch event id range [10000, 10012)
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Transformation closed. Post-processing...
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] Processing is complete, not processing current event 1
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [transformHandler] transformation closed; cleaning up data...
>>> [May 31 15:41:20.172] Server {47283488663296} DIAG: (plugin_esi_0x2bf05a0) [~ContData] Destroying continuation data
>>>
>>>
>>>
>>>
>>>
>>> On 30/05/2012, at 16:58, Shu Kit Chan wrote:
>>>
>>>> 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
>>>> <jr...@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
>>>>>> <jr...@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 <ch...@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 <jr...@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 <jr...@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 <jr...@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 <jr...@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.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>
>>>>>
>>>
>