From 24f7b36a69672e46475bdb1189e8e85723a67820 Mon Sep 17 00:00:00 2001 From: Seyi Adebajo Date: Wed, 8 Nov 2017 10:05:18 -0800 Subject: [PATCH] update tracking header expression: adds case insensitive header, mobileheader, and requestheader. updates related test cases --- .../app/utils/validators/tracking-headers.js | 8 -------- .../app/utils/validators/tracking-headers.ts | 16 ++++++++++++++++ .../validators/tracking-headers/constants.ts | 14 ++++++++++---- 3 files changed, 26 insertions(+), 12 deletions(-) delete mode 100644 wherehows-web/app/utils/validators/tracking-headers.js create mode 100644 wherehows-web/app/utils/validators/tracking-headers.ts diff --git a/wherehows-web/app/utils/validators/tracking-headers.js b/wherehows-web/app/utils/validators/tracking-headers.js deleted file mode 100644 index 4e0bf43417..0000000000 --- a/wherehows-web/app/utils/validators/tracking-headers.js +++ /dev/null @@ -1,8 +0,0 @@ -// Matches field identifiers starting with header, requestHeader, mobileHeader, -// mobile_header, request_header -// all optionally suffixed with a period and any non - line break characters -const trackingHeaderFieldsRegex = /^(?:header[.|[]|request_?header[.|[]|mobile_?header[.|[]).*/i; - -export default candidateString => trackingHeaderFieldsRegex.test(String(candidateString)); - -export { trackingHeaderFieldsRegex }; diff --git a/wherehows-web/app/utils/validators/tracking-headers.ts b/wherehows-web/app/utils/validators/tracking-headers.ts new file mode 100644 index 0000000000..8fb48aba13 --- /dev/null +++ b/wherehows-web/app/utils/validators/tracking-headers.ts @@ -0,0 +1,16 @@ +/** + * Matches field identifiers starting with header, requestHeader, mobileHeader, + * mobile_header, request_header + * or solely those strings + * optionally suffixed with a period and any non - line break characters + */ +const trackingHeaderFieldsRegex = /^(?:header$|header[.|[]|request_?header$|request_?header[.|[]|mobile_?header$|mobile_?header[.|[]).*/i; + +/** + * Tests if the supplied string matches any of the tracking header regex' + * @param {string} candidateString + * @return {boolean} + */ +export default (candidateString: string): boolean => trackingHeaderFieldsRegex.test(String(candidateString)); + +export { trackingHeaderFieldsRegex }; diff --git a/wherehows-web/tests/helpers/validators/tracking-headers/constants.ts b/wherehows-web/tests/helpers/validators/tracking-headers/constants.ts index 9e1c40189d..af12a005ed 100644 --- a/wherehows-web/tests/helpers/validators/tracking-headers/constants.ts +++ b/wherehows-web/tests/helpers/validators/tracking-headers/constants.ts @@ -1,6 +1,14 @@ -const headers = ['header.', 'header[field]', 'header.field', 'header[]']; -const requestHeaders = ['requestheader[]', 'requestheader.', 'request_header.mockId', 'request_header.s[]']; +const headers = ['header', 'HEADER', 'header.', 'header[field]', 'header.field', 'header[]']; +const requestHeaders = [ + 'requestheader[]', + 'requestheader.', + 'request_header.mockId', + 'request_header.s[]', + 'requestheader' +]; const mobileHeaders = [ + 'mobileheader', + 'MobileHeader', 'mobileheader.', 'MobileHeader[]', 'mobile_header.header', @@ -19,9 +27,7 @@ const trackingHeaderList = [...headers, ...requestHeaders, ...mobileHeaders]; * @type {Array} */ const nonTrackingHeaderList = [ - 'header', 'headers', - 'Header', 'headerfortrackingisinvalid', 'HEADER_PATH', 'HEADER_REFERER',