double check that URL is valid through converting to a URL object
This commit is contained in:
		
							parent
							
								
									e5cd04c95d
								
							
						
					
					
						commit
						7b49f8fcbf
					
				
					 1 changed files with 11 additions and 9 deletions
				
			
		|  | @ -53,15 +53,15 @@ export default class filters { | |||
| 	@param {string} URL the URL to update | ||||
| 	@return {boolean} the state | ||||
| 	*/ | ||||
| 	async update(URL) { | ||||
| 	async update(location) { | ||||
| 		// Create a queue of the filters.
 | ||||
| 		let filters = new Queue(); | ||||
| 
 | ||||
| 		if (URL) { | ||||
| 		if (location) { | ||||
| 			// Check if the URL is in a valid protocol
 | ||||
| 			if (URL.includes(`://`)) { | ||||
| 			if (location.includes(`://`)) { | ||||
| 				// Append that to the queue.
 | ||||
| 				filters.enqueue(URL); | ||||
| 				filters.enqueue(new URL(location)); | ||||
| 			} | ||||
| 		} else { | ||||
| 			// Add every item to the queue based on what was loaded first.
 | ||||
|  | @ -81,7 +81,7 @@ export default class filters { | |||
| 				let filter_URL = filters.dequeue(); | ||||
| 
 | ||||
| 				// Inform the user of download state.
 | ||||
| 				new logging (texts.localized(`settings_filters_update_status`, null, [filter_URL])); | ||||
| 				new logging (texts.localized(`settings_filters_update_status`), filter_URL); | ||||
| 
 | ||||
| 				// Create promise of downloading.
 | ||||
| 				let filter_download = net.download(filter_URL, `JSON`, false, true); | ||||
|  | @ -91,15 +91,17 @@ export default class filters { | |||
| 						if (result) { | ||||
| 							// Write the filter to storage.
 | ||||
| 							await global.write(["filters", filter_URL], result, -1, {"silent": true}); | ||||
| 							new logging(texts.localized(`settings_filters_update_status_complete`,null,[filter_URL])); | ||||
|                              | ||||
| 							 | ||||
| 							// Add the filter to the sync list.
 | ||||
| 							if ((await global.read(["settings", `filters`])) ? !((Object.keys(await global.read(["settings", `filters`]))).includes(filter_URL)) : true) { | ||||
| 								global.write(["settings", `filters`, filter_URL], true, 1, {"silent": true}); | ||||
| 							} | ||||
| 							}; | ||||
| 
 | ||||
| 							// Notify that the update is completed. 
 | ||||
| 							new logging(texts.localized(`settings_filters_update_status_complete`),filter_URL); | ||||
| 						} | ||||
| 					}) | ||||
| 					.catch(async function(error) { | ||||
| 					.catch((error) => { | ||||
| 						// Inform the user of the download failure.
 | ||||
| 						logging.error(error.name, texts.localized(`settings_filters_update_status_failure`, null, [error.name, filter_URL]), error.stack); | ||||
| 					}); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue