Browse Source

url: improve descriptiveness of identifier

Change variable for protocols that do not always contain `//` to
`noLeadingSlashes` so someone reading the code knows what it means.

PR-URL: https://github.com/nodejs/node/pull/12579
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v6
Rich Trott 8 years ago
committed by James M Snell
parent
commit
c005ebb0ce
  1. 8
      lib/url.js

8
lib/url.js

@ -765,14 +765,14 @@ Url.prototype.resolveObject = function resolveObject(relative) {
var removeAllDots = mustEndAbs;
var srcPath = result.pathname && result.pathname.split('/') || [];
var relPath = relative.pathname && relative.pathname.split('/') || [];
var psychotic = result.protocol && !slashedProtocol[result.protocol];
var noLeadingSlashes = result.protocol && !slashedProtocol[result.protocol];
// if the url is a non-slashed url, then relative
// links like ../.. should be able
// to crawl up to the hostname, as well. This is strange.
// result.protocol has already been set by now.
// Later on, put the first path part into the host field.
if (psychotic) {
if (noLeadingSlashes) {
result.hostname = '';
result.port = null;
if (result.host) {
@ -820,7 +820,7 @@ Url.prototype.resolveObject = function resolveObject(relative) {
// just pull out the search.
// like href='?foo'.
// Put this after the other two cases because it simplifies the booleans
if (psychotic) {
if (noLeadingSlashes) {
result.hostname = result.host = srcPath.shift();
//occasionally the auth can get stuck only in host
//this especially happens in cases like
@ -901,7 +901,7 @@ Url.prototype.resolveObject = function resolveObject(relative) {
(srcPath[0] && srcPath[0].charAt(0) === '/');
// put the host back
if (psychotic) {
if (noLeadingSlashes) {
result.hostname = result.host = isAbsolute ? '' :
srcPath.length ? srcPath.shift() : '';
//occasionally the auth can get stuck only in host

Loading…
Cancel
Save