private void fixSurrogateMap ( LinkedHashMap < String , List < String > > targetCapabilities , String currentSurrogate ) { boolean esiEnabledInEsigate = false ; // Check if Esigate will perform ESI. for ( String c : Esi . CAPABILITIES ) { if ( targetCapabilities . get ( currentSurrogate ) . contains ( c ) ) { esiEnabledInEsigate = true ; break ; } } if ( esiEnabledInEsigate ) { // Ensure all Esi capabilities are executed by our instance. for ( String c : Esi . CAPABILITIES ) { for ( String device : targetCapabilities . keySet ( ) ) { if ( device . equals ( currentSurrogate ) ) { if ( ! targetCapabilities . get ( device ) . contains ( c ) ) { targetCapabilities . get ( device ) . add ( c ) ; } } else { targetCapabilities . get ( device ) . remove ( c ) ; } } } } }
The current implementation of ESI cannot execute rules partially . For instance if ESI - Inline is requested ESI ESI - Inline X - ESI - Fragment are executed .