Page Cache
This commit is contained in:
		@@ -1,10 +1,11 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
var cl = global.botanLoader;
 | 
			
		||||
var Dragonfly = global.Dragonfly;
 | 
			
		||||
var CondStream = cl.load( "botanss.utils.CondStream" );
 | 
			
		||||
const cl = global.botanLoader;
 | 
			
		||||
const Dragonfly = global.Dragonfly;
 | 
			
		||||
const PageCache = global.botanPageCache;
 | 
			
		||||
 | 
			
		||||
var FatalError = cl.load( "botanss.errors.FatalError" );
 | 
			
		||||
const CondStream = cl.load( "botanss.utils.CondStream" );
 | 
			
		||||
const FatalError = cl.load( "botanss.errors.FatalError" );
 | 
			
		||||
 | 
			
		||||
class WebFrame
 | 
			
		||||
{
 | 
			
		||||
@@ -108,7 +109,7 @@ class WebFrame
 | 
			
		||||
		this.handlers[ name ] = method.bind( this );
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	plantResult()
 | 
			
		||||
	plantResult( cache, ttl )
 | 
			
		||||
	{
 | 
			
		||||
		if( this.planted ) return;
 | 
			
		||||
 | 
			
		||||
@@ -124,6 +125,8 @@ class WebFrame
 | 
			
		||||
			this.HTTP.response.write( this.result );
 | 
			
		||||
			this.HTTP.response.end();
 | 
			
		||||
			Dragonfly.Debug( "Result Planted" );
 | 
			
		||||
 | 
			
		||||
			this.__storeCache( cache, ttl );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Release resources
 | 
			
		||||
@@ -133,6 +136,20 @@ class WebFrame
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	__storeCache( cache, ttl )
 | 
			
		||||
	{
 | 
			
		||||
		if( cache && PageCache )
 | 
			
		||||
		{
 | 
			
		||||
			if( ttl == undefined ) ttl = 30;
 | 
			
		||||
			PageCache.store(
 | 
			
		||||
				this.HTTP.request.raw
 | 
			
		||||
				, this.HTTP.response
 | 
			
		||||
				, this.result
 | 
			
		||||
				, ttl
 | 
			
		||||
			);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// This won't handle path exists
 | 
			
		||||
	// throwing an error is better than handling it
 | 
			
		||||
	// Need to handle it somewhere else
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user