index.jsView |
---|
77 | 77 … | host = host.replace(/^::ffff:/, '') |
78 | 78 … | return host[0] !== '[' && /:.*:/.test(host) ? '[' + host + ']' : host |
79 | 79 … | } |
80 | 80 … | |
| 81 … | +var wantWarnTime = Number(process.env.WANT_WARN_TIME) || 60e3 |
| 82 … | + |
81 | 83 … | exports.name = 'npm-registry' |
82 | 84 … | exports.version = '1.0.0' |
83 | 85 … | exports.manifest = { |
84 | 86 … | getAddress: 'async' |
381 | 383 … | function getBlob(sbot, id, cb) { |
382 | 384 … | var blobs = sbot.blobs |
383 | 385 … | blobs.size(id, function (err, size) { |
384 | 386 … | if (err && err.code !== 'ENOENT') return cb(err) |
385 | | - if (typeof size === 'number') cb(null, blobs.get(id), size) |
386 | | - else blobs.want(id, function (err, got) { |
| 387 … | + if (typeof size === 'number') return cb(null, blobs.get(id), size) |
| 388 … | + var timeout = wantWarnTime > 0 && setTimeout(function () { |
| 389 … | + console.error('Blob taking a long time to fetch:', id) |
| 390 … | + }, wantWarnTime) |
| 391 … | + blobs.want(id, function (err, got) { |
| 392 … | + if (timeout) clearTimeout(timeout) |
387 | 393 … | if (err) cb(err) |
388 | 394 … | else if (!got) cb('missing blob ' + id) |
389 | 395 … | else blobs.size(id, function (err, size) { |
390 | 396 … | if (err) return cb(err) |
427 | 433 … | return getMentions(this.sbot.links2, name) |
428 | 434 … | } |
429 | 435 … | |
430 | 436 … | SsbNpmRegistryServer.prototype.getMsg = function (id, cb) { |
431 | | - if (this.sbot.ooo) return this.sbot.ooo.get({id: id, timeout: 0}, cb) |
| 437 … | + if (this.sbot.ooo) { |
| 438 … | + var timeout = wantWarnTime > 0 && setTimeout(function () { |
| 439 … | + console.error('Message taking a long time to fetch:', id) |
| 440 … | + }, wantWarnTime) |
|
| 441 … | + return this.sbot.ooo.get({id: id, timeout: 0}, timeout ? function (err, msg) { |
| 442 … | + clearTimeout(timeout) |
| 443 … | + cb(err, msg) |
| 444 … | + } : cb) |
| 445 … | + } |
432 | 446 … | else this.sbot.get(id, function (err, value) { |
433 | 447 … | if (err) console.error('Unable to get message:', id) |
434 | 448 … | if (err) return cb(err) |
435 | 449 … | cb(null, {key: id, value: value}) |