From 6e8ebd8253823e946f1ff93f2c23489377275162 Mon Sep 17 00:00:00 2001 From: gorhill Date: Sat, 1 Apr 2017 16:46:27 -0400 Subject: [PATCH] fix #727 --- src/js/traffic.js | 14 +++++++------- src/js/uritools.js | 14 +++++++++++--- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/js/traffic.js b/src/js/traffic.js index 97738c7..731c197 100644 --- a/src/js/traffic.js +++ b/src/js/traffic.js @@ -86,8 +86,6 @@ var onBeforeRequestHandler = function(details) { return; } - // console.debug('onBeforeRequestHandler()> "%s": %o', details.url, details); - var requestType = requestTypeNormalizer[details.type] || 'other'; // https://github.com/gorhill/httpswitchboard/issues/303 @@ -99,9 +97,9 @@ var onBeforeRequestHandler = function(details) { var requestURL = details.url; - // Ignore non-http schemes - if ( requestScheme.lastIndexOf('http', 0) !== 0 ) { - µm.logger.writeOne('', 'info', 'request not processed: ' + details.url); + // Ignore non-network schemes + if ( µmuri.isNetworkScheme(requestScheme) === false ) { + µm.logger.writeOne('', 'info', 'request not processed: ' + requestURL); return; } @@ -160,7 +158,10 @@ var onBeforeRequestHandler = function(details) { var onBeforeSendHeadersHandler = function(details) { var µm = µMatrix; - // console.debug('onBeforeSendHeadersHandler()> "%s": %o', details.url, details); + // Ignore non-network schemes + if ( µm.URI.isNetworkScheme(details.url) === false ) { + return; + } // Re-classify orphan HTTP requests as behind-the-scene requests. There is // not much else which can be done, because there are URLs @@ -468,7 +469,6 @@ vAPI.net.onBeforeRequest = { }; vAPI.net.onBeforeSendHeaders = { - urls: [ 'http://*/*', 'https://*/*' ], extra: [ 'blocking', 'requestHeaders' ], callback: onBeforeSendHeadersHandler }; diff --git a/src/js/uritools.js b/src/js/uritools.js index 8f1c55f..5a4b50f 100644 --- a/src/js/uritools.js +++ b/src/js/uritools.js @@ -237,12 +237,20 @@ URI.schemeFromURI = function(uri) { /******************************************************************************/ +URI.isNetworkScheme = function(scheme) { + return this.reNetworkScheme.test(scheme); +}; + +URI.reNetworkScheme = /^(?:https?|wss?|ftps?)\b/; + +/******************************************************************************/ + URI.isSecureScheme = function(scheme) { - return scheme === 'https' || - scheme === 'wss' || - scheme === 'ftps'; + return this.reSecureScheme.test(scheme); }; +URI.reSecureScheme = /^(?:https|wss|ftps)\b/; + /******************************************************************************/ URI.authorityFromURI = function(uri) {