From 3c2200cd4bb88c828da6c5172577ba93ba179b79 Mon Sep 17 00:00:00 2001 From: Cloud Date: Fri, 30 Aug 2019 14:37:25 +0800 Subject: [PATCH] fix: fuck some unstandard url (#2961) --- lib/middleware/parameter.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/lib/middleware/parameter.js b/lib/middleware/parameter.js index 878c8aad38..3a2117a936 100644 --- a/lib/middleware/parameter.js +++ b/lib/middleware/parameter.js @@ -39,6 +39,7 @@ module.exports = async (ctx, next) => { if (item.description) { const $ = cheerio.load(item.description); let baseUrl = item.link || ctx.state.data.link; + if (baseUrl && !baseUrl.match(/^https?:\/\//)) { if (baseUrl.match(/^\/\//)) { baseUrl = 'http:' + baseUrl; @@ -54,7 +55,11 @@ module.exports = async (ctx, next) => { // absolute link if (baseUrl) { - $ele.attr('href', new URL($ele.attr('href'), baseUrl).href); + try { + $ele.attr('href', new URL($ele.attr('href'), baseUrl).href); + } catch (e) { + // no-empty + } } }); @@ -74,7 +79,11 @@ module.exports = async (ctx, next) => { // absolute link if (baseUrl) { - $ele.attr('src', new URL($ele.attr('src'), baseUrl).href); + try { + $ele.attr('src', new URL($ele.attr('src'), baseUrl).href); + } catch (e) { + // no-empty + } } // referrerpolicy