+.*.deps
+.*.less
.*.jst
.*.min
/jst_server-*.tgz
let Server = function() {
if (!this instanceof Server)
- throw Error('Server is a constructor')
+ throw new Error('Server is a constructor')
this.enable_caching = false
this.listen = []
}
Server.prototype.refresh_config = async function() {
+ let config
try {
- let config = await this.jst_cache.get('_config/server.jst')
+ config = await this.jst_cache.get('_config/server.jst', true)
+ }
+ catch (err) {
+ console.log(`configuration error: ${err.stack || err.message}`)
+ }
+ if (config !== undefined) {
this.enable_caching = config.enable_caching
let listen = []
this.sites = config.sites
}
- catch (err) {
- console.log(`configuration error: ${err.stack || err.message}`)
- }
}
Server.prototype.serve = function(response, status, mime_type, data, message) {
let Site = function(server) {
if (!this instanceof Site)
- throw Error('Site is a constructor')
+ throw new Error('Site is a constructor')
this.server = server
this.socket_io_connect_listeners = [] // later will use this for destruction
}
let SiteDefault = function(server, root) {
if (!this instanceof SiteDefault)
- throw Error('SiteDefault is a constructor')
+ throw new Error('SiteDefault is a constructor')
SiteRoot.call(this, server, root)
+ this.site = undefined
}
SiteDefault.prototype = Object.create(SiteRoot.prototype)
SiteDefault.prototype.respond = async function(env) {
- let site
+ let config
try {
- site = await this.get_jst('/_config/site.jst')
+ config = await this.get_jst('/_config/site.jst', true)
}
catch (err) {
if (!(err instanceof Error) || err.code !== 'ENOENT')
// no custom site object, handle the request ourselves
return SiteRoot.prototype.respond.call(this, env)
}
- return site.respond(env)
+ if (config !== undefined)
+ this.site = await config(this.server, this.root, this.site)
+ return this.site.respond(env)
}
module.exports = SiteDefault
let SiteRedirect = function(server, redirect) {
if (!this instanceof SiteRedirect)
- throw Error('SiteRedirect is a constructor')
+ throw new Error('SiteRedirect is a constructor')
Site.call(this, server)
this.redirect = redirect
}
let SiteRoot = function(server, root) {
if (!this instanceof SiteRoot)
- throw Error('SiteRoot is a constructor')
+ throw new Error('SiteRoot is a constructor')
Site.call(this, server)
this.root = root
"main": "index.js",
"directories": {},
"dependencies": {
+ "@ndcode/json_cache": "^0.1.2",
+ "@ndcode/json_cache_rw": "^0.1.0",
+ "@ndcode/jst_cache": "^0.1.0",
"@ndcode/less_css_cache": "^0.1.0",
"@ndcode/min_css_cache": "^0.1.0",
- "@ndcode/min_js_cache": "^0.1.0",
"@ndcode/min_html_cache": "^0.1.0",
+ "@ndcode/min_js_cache": "^0.1.0",
"@ndcode/min_svg_cache": "^0.1.0",
- "@ndcode/json_cache": "^0.1.2",
- "@ndcode/json_cache_rw": "^0.1.0",
- "@ndcode/jst_cache": "^0.1.0",
+ "@ndcode/text_cache": "^0.1.0",
+ "@ndcode/zip_cache": "^0.1.0",
"commander": "^2.18.0",
"fs": "^0.0.1-security",
"http": "^0.0.0",