aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorSergey Golovin <golovim@gmail.com>2018-03-12 18:59:31 +0300
committerLuigi Pinca <luigipinca@gmail.com>2018-04-05 08:38:46 +0200
commit354849eeb595ac364337e564669de4c77aa4c1af (patch)
tree68c85a25a0fd0d5a4d051838381d1dd5e7fc6287 /lib
parent422ac61535fd190836b174bb6ad8ec2af76e1f05 (diff)
downloadandroid-node-v8-354849eeb595ac364337e564669de4c77aa4c1af.tar.gz
android-node-v8-354849eeb595ac364337e564669de4c77aa4c1af.tar.bz2
android-node-v8-354849eeb595ac364337e564669de4c77aa4c1af.zip
url: replace "magic" numbers by constants
PR-URL: https://github.com/nodejs/node/pull/19300 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/internal/constants.js2
-rw-r--r--lib/internal/url.js18
2 files changed, 15 insertions, 5 deletions
diff --git a/lib/internal/constants.js b/lib/internal/constants.js
index 6fc16e57d9..5c884ae6bc 100644
--- a/lib/internal/constants.js
+++ b/lib/internal/constants.js
@@ -39,6 +39,8 @@ module.exports = {
CHAR_CIRCUMFLEX_ACCENT: 94, /* ^ */
CHAR_GRAVE_ACCENT: 96, /* ` */
CHAR_AT: 64, /* @ */
+ CHAR_AMPERSAND: 38, /* & */
+ CHAR_EQUAL: 61, /* = */
// Digits
CHAR_0: 48, /* 0 */
diff --git a/lib/internal/url.js b/lib/internal/url.js
index 1513b14e82..21c7c734b5 100644
--- a/lib/internal/url.js
+++ b/lib/internal/url.js
@@ -19,6 +19,14 @@ const {
ERR_INVALID_URL_SCHEME,
ERR_MISSING_ARGS
} = require('internal/errors').codes;
+const {
+ CHAR_PERCENT,
+ CHAR_PLUS,
+ CHAR_AMPERSAND,
+ CHAR_EQUAL,
+ CHAR_LOWERCASE_A,
+ CHAR_LOWERCASE_Z,
+} = require('internal/constants');
const querystring = require('querystring');
const { platform } = process;
@@ -712,7 +720,7 @@ function parseParams(qs) {
const code = qs.charCodeAt(i);
// Try matching key/value pair separator
- if (code === 38/* & */) {
+ if (code === CHAR_AMPERSAND) {
if (pairStart === i) {
// We saw an empty substring between pair separators
lastPos = pairStart = i + 1;
@@ -738,7 +746,7 @@ function parseParams(qs) {
}
// Try matching key/value separator (e.g. '=') if we haven't already
- if (!seenSep && code === 61/* = */) {
+ if (!seenSep && code === CHAR_EQUAL) {
// Key/value separator match!
if (lastPos < i)
buf += qs.slice(lastPos, i);
@@ -755,7 +763,7 @@ function parseParams(qs) {
}
// Handle + and percent decoding.
- if (code === 43/* + */) {
+ if (code === CHAR_PLUS) {
if (lastPos < i)
buf += qs.slice(lastPos, i);
buf += ' ';
@@ -763,7 +771,7 @@ function parseParams(qs) {
} else if (!encoded) {
// Try to match an (valid) encoded byte (once) to minimize unnecessary
// calls to string decoding functions
- if (code === 37/* % */) {
+ if (code === CHAR_PERCENT) {
encodeCheck = 1;
} else if (encodeCheck > 0) {
// eslint-disable-next-line no-extra-boolean-cast
@@ -1357,7 +1365,7 @@ function getPathFromURLWin32(url) {
// Otherwise, it's a local path that requires a drive letter
var letter = pathname.codePointAt(1) | 0x20;
var sep = pathname[2];
- if (letter < 97 || letter > 122 || // a..z A..Z
+ if (letter < CHAR_LOWERCASE_A || letter > CHAR_LOWERCASE_Z || // a..z A..Z
(sep !== ':')) {
throw new ERR_INVALID_FILE_URL_PATH('must be absolute');
}