MCPcopy
hub / github.com/lightningpixel/modly / request

Function request

scripts/download-python-embed.js:34–59  ·  view source on GitHub ↗
(u)

Source from the content-addressed store, hash-verified

32 console.log(`Downloading ${url} → ${dest}`)
33 const file = fs.createWriteStream(dest)
34 const request = (u) => {
35 https.get(u, { headers: { 'User-Agent': 'modly-build' } }, (res) => {
36 if (res.statusCode === 301 || res.statusCode === 302) {
37 request(res.headers.location)
38 return
39 }
40 if (res.statusCode !== 200) {
41 reject(new Error(`HTTP ${res.statusCode} for ${u}`))
42 return
43 }
44 const total = parseInt(res.headers['content-length'] || '0', 10)
45 let received = 0
46 res.on('data', (chunk) => {
47 received += chunk.length
48 if (total > 0) {
49 const pct = Math.round((received / total) * 100)
50 process.stdout.write(`\r ${pct}% (${Math.round(received / 1024 / 1024)} MB)`)
51 }
52 })
53 res.pipe(file)
54 res.on('end', () => {
55 process.stdout.write('\n')
56 file.close(() => resolve())
57 })
58 }).on('error', reject)
59 }
60 request(url)
61 file.on('error', reject)
62 })

Callers 1

downloadFunction · 0.85

Calls 2

resolveFunction · 0.85
onMethod · 0.80

Tested by

no test coverage detected