diff --git a/lib/middleware/onerror.js b/lib/middleware/onerror.js index faf0331588..f3f44e5834 100644 --- a/lib/middleware/onerror.js +++ b/lib/middleware/onerror.js @@ -15,11 +15,19 @@ module.exports = async (ctx, next) => { try { await next(); } catch (err) { - logger.error(`Error in ${ctx.request.path}: ${err instanceof Error ? err.stack : err}`); + let message; + if (err.name && (err.name === 'HTTPError' || err.name === 'RequestError')) { + message = `${err.message}: target website might be blocking our access, you can host your own RSSHub instance for a better usability.`; + } else if (err instanceof Error) { + message = err.stack; + } else { + message = err; + } + logger.error(`Error in ${ctx.request.path}: ${message}`); ctx.set({ 'Content-Type': 'text/html; charset=UTF-8', }); - ctx.body = `RSSHub 发生了一些意外:
${err instanceof Error ? err.stack : err}
`; + ctx.body = `RSSHub 发生了一些意外:
${message}
`; ctx.status = 404; if (!ctx.debug.errorPaths[ctx.request.path]) {