braidfs 0.0.112 → 0.0.113
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +16 -3
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -71,10 +71,12 @@ if (argv.length === 1 && argv[0].match(/^(run|serve)$/)) {
|
|
|
71
71
|
for (let i = 0; i < argv.length; i += 2) {
|
|
72
72
|
var sync = argv[i] === 'sync',
|
|
73
73
|
url = argv[i + 1]
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
url
|
|
74
|
+
|
|
75
|
+
if (!is_well_formed_absolute_url(url)) {
|
|
76
|
+
console.log(`malformed url: ${url}`)
|
|
77
|
+
return
|
|
77
78
|
}
|
|
79
|
+
|
|
78
80
|
console.log(`${sync ? '' : 'un'}subscribing ${sync ? 'to' : 'from'} ${url}`)
|
|
79
81
|
try {
|
|
80
82
|
var res = await braid_fetch(`http://localhost:${config.port}/.braidfs/config`, {
|
|
@@ -1387,3 +1389,14 @@ async function file_exists(fullpath) {
|
|
|
1387
1389
|
function sha256(x) {
|
|
1388
1390
|
return require('crypto').createHash('sha256').update(x).digest('base64')
|
|
1389
1391
|
}
|
|
1392
|
+
|
|
1393
|
+
function is_well_formed_absolute_url(urlString) {
|
|
1394
|
+
if (!urlString || typeof urlString !== 'string') return
|
|
1395
|
+
if (urlString.match(/\s/)) return
|
|
1396
|
+
try {
|
|
1397
|
+
var url = new URL(urlString)
|
|
1398
|
+
if (url.hostname.includes('%')) return
|
|
1399
|
+
if (!url.hostname) return
|
|
1400
|
+
return urlString.match(/^https?:\/\//)
|
|
1401
|
+
} catch (error) {}
|
|
1402
|
+
}
|