//let ZettairCache = require('@ndcode/zettair_cache')
let assert = require('assert')
-let CustomSite = function(resources, root, options, prev_site) {
- if (!this instanceof CustomSite)
- throw Error('CustomSite is a constructor')
- _jst_server.Site.call(this, resources, root, options, prev_site)
+return async (resources, root, prev_site) => {
+ class CustomSite extends _jst_server.Site {
+ constructor(resources, root, options, prev_site) {
+ super(resources, root, options, prev_site)
- this.emailjs_cache = undefined
- this.zettair_cache = undefined
-}
-
-CustomSite.prototype = Object.create(_jst_server.Site.prototype)
+ this.emailjs_cache = undefined
+ this.zettair_cache = undefined
+ }
-//CustomSite.prototype.start = async function() {
-// await _jst_server.Site.prototype.start.call(this)
-//
-// assert(this.emailjs_cache === undefined)
-// this.emailjs_cache = await this.resources.ref(
-// 'emailjs_cache',
-// async () => new EmailJSCache(true)
-// )
-//
-// assert(this.zettair_cache === undefined)
-// this.zettair_cache = await this.resources.ref(
-// 'zettair_cache',
-// async () => new ZettairCache(true)
-// )
-//}
-//
-//CustomSite.prototype.stop = async function() {
-// await _jst_server.Site.prototype.stop.call(this)
-//
-// assert(this.emailjs_cache !== undefined)
-// await this.resources.unref('emailjs_cache')
-//
-// assert(this.zettair_cache !== undefined)
-// await this.resources.unref('zettair_cache')
-//}
-//
-//CustomSite.prototype.kick = async function() {
-// await _jst_server.Site.prototype.kick.call(this)
-//
-// assert(this.emailjs_cache !== undefined)
-// this.emailjs_cache.kick()
-//
-// assert(this.zettair_cache !== undefined)
-// this.zettair_cache.kick()
-//}
-//
-//CustomSite.prototype.get_emailjs = function(pathname) {
-// return /*await*/ this.emailjs_cache.get(this.root + pathname)
-//}
-//
-//CustomSite.prototype.get_zettair = function(pathname) {
-// return /*await*/ this.zettair_cache.get(this.root + pathname)
-//}
+ //async start() {
+ // await _jst_server.Site.prototype.start.call(this)
+ //
+ // assert(this.emailjs_cache === undefined)
+ // this.emailjs_cache = await this.resources.ref(
+ // 'emailjs_cache',
+ // async () => new EmailJSCache(true)
+ // )
+ //
+ // assert(this.zettair_cache === undefined)
+ // this.zettair_cache = await this.resources.ref(
+ // 'zettair_cache',
+ // async () => new ZettairCache(true)
+ // )
+ //}
+ //
+ //async stop() {
+ // await _jst_server.Site.prototype.stop.call(this)
+ //
+ // assert(this.emailjs_cache !== undefined)
+ // await this.resources.unref('emailjs_cache')
+ //
+ // assert(this.zettair_cache !== undefined)
+ // await this.resources.unref('zettair_cache')
+ //}
+ //
+ //async kick() {
+ // await _jst_server.Site.prototype.kick.call(this)
+ //
+ // assert(this.emailjs_cache !== undefined)
+ // this.emailjs_cache.kick()
+ //
+ // assert(this.zettair_cache !== undefined)
+ // this.zettair_cache.kick()
+ //}
+ //
+ //get_emailjs(pathname) {
+ // return /*await*/ this.emailjs_cache.get(this.root + pathname)
+ //}
+ //
+ //get_zettair(pathname) {
+ // return /*await*/ this.zettair_cache.get(this.root + pathname)
+ //}
-CustomSite.prototype.respond = async function(env) {
- if (
- env.parsed_url.pathname === '/node_modules' ||
- env.parsed_url.pathname.slice(0, 14) === '/node_modules/' ||
- env.parsed_url.pathname === '/package.json'
- ) {
- this.die(env, `banned file ${env.parsed_url.pathname}`)
- return
+ async respond(env) {
+ if (
+ env.parsed_url.pathname === '/node_modules' ||
+ env.parsed_url.pathname.slice(0, 14) === '/node_modules/' ||
+ env.parsed_url.pathname === '/package.json'
+ ) {
+ this.die(env, `banned file ${env.parsed_url.pathname}`)
+ return
+ }
+ return /*await*/ _jst_server.Site.prototype.respond.call(this, env)
+ }
}
- return /*await*/ _jst_server.Site.prototype.respond.call(this, env)
-}
-return async (resources, root, prev_site) => new CustomSite(
- resources,
- root,
- {},
- prev_site
-)
+ return new CustomSite(
+ resources,
+ root,
+ {},
+ prev_site
+ )
+}