Sha256: a5b7cfa3bee1113aabca657d66586b2169c535c41a88702aea1fbb043aa57ec5

Contents?: true

Size: 709 Bytes

Versions: 88

Compression:

Stored size: 709 Bytes

Contents

'use strict';

const path = require('path');

function isUrlRequest(url, root) {
  // An URL is not an request if

  // 1. It's an absolute url and it is not `windows` path like `C:\dir\file`
  if (/^[a-z][a-z0-9+.-]*:/i.test(url) && !path.win32.isAbsolute(url)) {
    return false;
  }

  // 2. It's a protocol-relative
  if (/^\/\//.test(url)) {
    return false;
  }

  // 3. It's some kind of url for a template
  if (/^[{}[\]#*;,'§$%&(=?`´^°<>]/.test(url)) {
    return false;
  }

  // 4. It's also not an request if root isn't set and it's a root-relative url
  if ((root === undefined || root === false) && /^\//.test(url)) {
    return false;
  }

  return true;
}

module.exports = isUrlRequest;

Version data entries

88 entries across 28 versions & 9 rubygems

Version Path
ilog-0.3.3 node_modules/loader-utils/lib/isUrlRequest.js
jester-data-8.0.0 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-5.2.1 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-2.0.1 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-1.1.0 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-1.0.0 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-0.0.0.1.0 node_modules/loader-utils/lib/isUrlRequest.js
ezii-os-0.0.0.0.1 node_modules/loader-utils/lib/isUrlRequest.js