mirror of
https://gitlab.com/KevinRoebert/ClearUrls
synced 2025-12-16 14:15:36 +07:00
allow only filter some HTTP methods
This commit is contained in:
30
clearurls.js
30
clearurls.js
@@ -216,6 +216,12 @@ function start() {
|
|||||||
for (let re = 0; re < redirections.length; re++) {
|
for (let re = 0; re < redirections.length; re++) {
|
||||||
providers[p].addRedirection(redirections[re]);
|
providers[p].addRedirection(redirections[re]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let methods = data.providers[prvKeys[p]].getOrDefault('methods', []);
|
||||||
|
//Add HTTP methods list to provider
|
||||||
|
for (let re = 0; re < methods.length; re++) {
|
||||||
|
providers[p].addMethod(methods[re]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -344,6 +350,7 @@ function start() {
|
|||||||
let disabled_rawRules = {};
|
let disabled_rawRules = {};
|
||||||
let enabled_referralMarketing = {};
|
let enabled_referralMarketing = {};
|
||||||
let disabled_referralMarketing = {};
|
let disabled_referralMarketing = {};
|
||||||
|
let methods = [];
|
||||||
|
|
||||||
if (_completeProvider) {
|
if (_completeProvider) {
|
||||||
enabled_rules[".*"] = true;
|
enabled_rules[".*"] = true;
|
||||||
@@ -496,6 +503,28 @@ function start() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a HTTP method to methods list.
|
||||||
|
*
|
||||||
|
* @param {String} method HTTP Method Name
|
||||||
|
*/
|
||||||
|
this.addMethod = function (method) {
|
||||||
|
if (methods.indexOf(method) == -1) {
|
||||||
|
methods.push(method);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check the requests' method.
|
||||||
|
*
|
||||||
|
* @param {requestDetails} details Requests deatils
|
||||||
|
* @returns {boolean} if need filter? true: false
|
||||||
|
*/
|
||||||
|
this.matchMethod = function (details) {
|
||||||
|
if (!methods.length) return true;
|
||||||
|
return methods.indexOf(details['method']) > -1 ? true : false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Private helper method to check if the url
|
* Private helper method to check if the url
|
||||||
* an exception.
|
* an exception.
|
||||||
@@ -598,6 +627,7 @@ function start() {
|
|||||||
* Call for every provider the removeFieldsFormURL method.
|
* Call for every provider the removeFieldsFormURL method.
|
||||||
*/
|
*/
|
||||||
for (let i = 0; i < providers.length; i++) {
|
for (let i = 0; i < providers.length; i++) {
|
||||||
|
if (!providers[i].matchMethod(request)) continue;
|
||||||
if (providers[i].matchURL(request.url)) {
|
if (providers[i].matchURL(request.url)) {
|
||||||
result = removeFieldsFormURL(providers[i], request.url, false, request);
|
result = removeFieldsFormURL(providers[i], request.url, false, request);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user