app/Helper.js:1134:47
Function.pageLinkGenerator
}
return 'Main/'+encodeURIComponent(item.permalink);
}
if (type === 'brand')
{
return 'brand/'+encodeURIComponent(item.english_title);
}
if (type === 'tag')
{
return 'search?tags[]='+encodeURIComponent(item.title);
}
node_modules/edge.js/src/Template/Runner.js:51:20
Template.templateFn (eval at run
* If template fn is a string, make sure to run
* it inside a scope.
*/
if (typeof (this.templateFn) === 'string') {
/* eslint no-new-func: "off" */
templateFn = new Function(this.templateFn)
}
return templateFn.bind(this.scope)()
}
}
node_modules/edge.js/src/Template/Runner.js:51:20
Template.eval (eval at run
* If template fn is a string, make sure to run
* it inside a scope.
*/
if (typeof (this.templateFn) === 'string') {
/* eslint no-new-func: "off" */
templateFn = new Function(this.templateFn)
}
return templateFn.bind(this.scope)()
}
}
node_modules/edge.js/src/Template/Runner.js:54:39
TemplateRunner.run
if (typeof (this.templateFn) === 'string') {
/* eslint no-new-func: "off" */
templateFn = new Function(this.templateFn)
}
return templateFn.bind(this.scope)()
}
}
module.exports = TemplateRunner
node_modules/edge.js/src/Template/index.js:322:55
Template.render
* @return {String}
*/
render (view, data = {}) {
const compiledTemplate = this.compile(view, true)
this._makeContext(data)
return new TemplateRunner(compiledTemplate, this).run()
}
/**
* Render a view via string
*
app/Controllers/Http/ProductController.js:1677:19
ProductController.productPageView
else
keywords_str += ','+product.tags[i];
}
const meta_tags = product.tags;
return view.render(request.platform + '.product.productPage', {
product_page: true,
help_items:((product.help_items && product.help_items.length)?product.help_items.split('\n'):[]),
keywords_str : keywords_str,
page_index : true,
strengthAndWeakness:strengthAndWeakness,
node_modules/@adonisjs/framework/src/Server/index.js:121:25
async Server._routeHandler
*
* @private
*/
async _routeHandler (ctx, next, params) {
const { method } = resolver.forDir('httpControllers').resolveFunc(params[0])
const returnValue = await method(ctx)
this._safelySetResponse(ctx.response, returnValue)
await next()
}
app/Middleware/ShopViewInfo.js:184:5
async ViewInfo.handle
console.log('ViewInfoTimeOnly: '+(new Date().getTime()-beginDate.getTime()));
view.share(viewInfo);
console.log('ViewInfoTimeShared: '+(new Date().getTime()-beginDate.getTime()));
await next()
}
}
module.exports = ViewInfo
app/Middleware/NoAdmin.js:40:5
async NoAdmin.handle
{
}
await next();
}
}
module.exports = NoAdmin;
node_modules/@adonisjs/shield/src/Shield/index.js:417:5
async Shield.handle
/**
* Set token on the request object
*/
this.setRequestCsrfToken(newCsrfToken, request)
await next()
}
}
module.exports = Shield
node_modules/@adonisjs/auth/src/Middleware/AuthInit.js:60:5
async AuthInit.handle
user: auth.user
}
})
}
await next()
}
/**
* Attempt to login the user on each request ( if scheme is session )
*
app/Middleware/Platform.js:24:5
async Platform.handle
platform = 'mobile';
request.platform = platform;
view.share({
platform:platform
});
await next()
const b = new Date();
if (request.method().toLowerCase()==='get' && request.url().indexOf('/admin')<0 && response && response._lazyBody && response._lazyBody.content && typeof response._lazyBody.content==='string')
{
if (response._lazyBody.content.indexOf('<html')>=0)
{
app/Middleware/Performance.js:31:5
async Performance.handle
if (typeof global.runningProcess==="undefined")
global.runningProcess = 1;
else
global.runningProcess++;
const processBeginDate = new Date();
await next();
const processTime = new Date().getTime() - processBeginDate.getTime();
console.log('Process Time: '+processTime);
global.runningProcess--;
if (processTime>1200)
{
app/Middleware/Redirector.js:55:5
async Redirector.handle
{
return response.redirect(redirects[i].to,redirects[i].type);
}
}
await next()
}
}
module.exports = Redirector;
node_modules/@adonisjs/session/src/Session/Middleware.js:76:5
async SessionMiddleware.handle
ctx.request.flashMessages = flashMessages
/**
* Move the chain
*/
await next()
/**
* Commit changes back to the driver, only when in implicit
* mode. Otherwise the end user will have to save them
* manually.
node_modules/@adonisjs/bodyparser/src/BodyParser/index.js:242:7
async BodyParser.handle
/**
* Don't bother when request does not have body
*/
if (!request.hasBody()) {
debug('skipping body parsing, since request body is empty')
await next()
return
}
/**
* Body is multipart/form-data and autoProcess is set to