500

TypeError

Cannot read properties of null (reading 'english_title')

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

Request Details

URI /product/5f09643530721f728c77deb6/%D8%A8%D9%84%D8%A8%D8%B1%DB%8C%D9%86%DA%AF-635-ZZ-%D8%A8%D8%B1%D9%86%D8%AF-ABI
Request Method GET
HTTP Version 1.1
Connection upgrade

Headers

HOST www.taptiz.com
ACCEPT */*
USER-AGENT claudebot

Cookies