From e4e8393a357143f0d102704f37d965d696763fdb Mon Sep 17 00:00:00 2001 From: KaKa Date: Fri, 6 Jan 2023 18:05:40 +0800 Subject: [PATCH] (v3.x) perf: only check for isEssence once in RegExp for content-type-parser (#4481) (#4497) --- lib/contentTypeParser.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/contentTypeParser.js b/lib/contentTypeParser.js index dc8f4de389..eb321e06f4 100644 --- a/lib/contentTypeParser.js +++ b/lib/contentTypeParser.js @@ -72,6 +72,7 @@ ContentTypeParser.prototype.add = function (contentType, opts, parserFn) { if (contentTypeIsString) { this.parserList.unshift(new ParserListItem(contentType)) } else { + contentType.isEssence = contentType.source.indexOf(';') === -1 this.parserRegExpList.unshift(contentType) } this.customParsers.set(contentType.toString(), parser) @@ -396,7 +397,7 @@ function compareContentType (contentType, parserListItem) { } function compareRegExpContentType (contentType, essenceMIMEType, regexp) { - if (regexp.source.indexOf(';') === -1) { + if (regexp.isEssence) { // we do essence check return regexp.test(essenceMIMEType) } else {