{"_id":"wget-improved-2","_rev":"1-a8387c8171809fc340bc6c99600e22e0","name":"wget-improved-2","dist-tags":{"latest":"3.3.0"},"versions":{"3.3.0":{"name":"wget-improved-2","version":"3.3.0","description":"wget in nodejs, forked from wuchengwei/node-wget to add improvements and help maintain the project - forked for node-opcua","keywords":["download","http","https","ftp","proxy","wget"],"author":{"name":"Bearjaws","email":"michael.a.barajas@gmail.com"},"repository":{"type":"git","url":"git://github.com/bearjaws/node-wget.git"},"contributors":[{"name":"Michael Barajas"}],"homepage":"https://github.com/bearjaws/node-wget","bin":{"nwget":"bin/nwget"},"typings":"index.d.ts","dependencies":{"minimist":"1.2.6","tunnel":"0.0.6"},"engines":{"node":">= 0.6.18"},"license":"MIT","devDependencies":{"chai":"4.3.6","express":"4.17.3","mocha":"^9.2.2","request":"2.88.0"},"scripts":{"test":"mocha test/test.js --exit"},"gitHead":"5cd00aa8bf937e5ced02f833498162bee532f146","bugs":{"url":"https://github.com/bearjaws/node-wget/issues"},"_id":"wget-improved-2@3.3.0","_nodeVersion":"16.13.0","_npmVersion":"8.5.2","dist":{"integrity":"sha512-NSPde/8mUqgmznPhO7oB5gS8IVUlR7GOlY857IaAf3PkkHbx/6FwZxUhW+GRP1GQbZDnCMF5fPieWXFng8Z43A==","shasum":"63fc8a882fffbdd4c965cefa5d787f78cc749bbd","tarball":"https://registry.npmjs.org/wget-improved-2/-/wget-improved-2-3.3.0.tgz","fileCount":12,"unpackedSize":25767,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiQYM3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSSw//VVy2akI+Pt4lpM7RMSAOgbMJyfJH1m1imkNqgGfVCLAR1v+x\r\nv8iljrzRzflTiHio95Gfk5OU53m9TW6jcvUj6kwMHhh5nJ5P4wtvgaIZlGhW\r\npcaoZgbu+A4a+jL8trBHH2mtfBzQS2tPje/jzR798X6+0hCrC93k7hVFNBpz\r\njr7r8D2B2MIt1inF1v/Hmfh3frU+GFoffXrWBVzxfgBVVew2tevMhazy+W0v\r\nGTLd58v0TiS0yJ+IdAitJBH4Oa3n0sr8BqO1ef+AeFEdxe3MEVftwF+XzrhV\r\nwwJ8UjlEPatBDSW4olKm8BuamrOk8csYkFHJIJqUnLRJER8GyvkfeiwOtceN\r\nYBoDfdMJoelWzSiNv5Pzj1RTp7k1992Llx+EmUmn3yDXPaGYIv1MEGV43Jjm\r\nkdKpfFcvn+PYHXAlYr6+83mM+t3Dnan7uhDkCf06mPQbKxH/BRD/BRy+OSXg\r\nfigo31zk7ppMHz0HzQQaK7xcQiY501Ip30wXUjLKSsiaHlxe9nJ5OHOPAXg8\r\n6GQcfKqCTnedNiaeUadwYeh7VaLu+R/bEEuaQfhWMkWa2z9QmCVW85mOO+bD\r\nSdok+te+fERmr2K9yyFcyHJozk2FGodwDgCCj5TXhlpXQTbGZgSTecc1lien\r\ndusx1a/V5HYAcML8dWtM2jNoJMtiJxf8sVQ=\r\n=sK+G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCqPH8JaD1sGjWRAjmt5HJa5gIoMg+ON9sjVfqccIZQwwIgJJUcGbU/ZddxlIq5uq8ZrKPMPutR5Z5sLK06+UgiFtk="}]},"_npmUser":{"name":"erossignon","email":"etienne.rossignon@gadz.org"},"directories":{},"maintainers":[{"name":"erossignon","email":"etienne.rossignon@gadz.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wget-improved-2_3.3.0_1648460599564_0.5412140007497448"},"_hasShrinkwrap":false}},"time":{"created":"2022-03-28T09:43:19.563Z","3.3.0":"2022-03-28T09:43:19.692Z","modified":"2022-05-24T10:40:46.646Z"},"maintainers":[{"name":"erossignon","email":"etienne.rossignon@gadz.org"}],"description":"wget in nodejs, forked from wuchengwei/node-wget to add improvements and help maintain the project - forked for node-opcua","homepage":"https://github.com/bearjaws/node-wget","keywords":["download","http","https","ftp","proxy","wget"],"repository":{"type":"git","url":"git://github.com/bearjaws/node-wget.git"},"contributors":[{"name":"Michael Barajas"}],"author":{"name":"Bearjaws","email":"michael.a.barajas@gmail.com"},"bugs":{"url":"https://github.com/bearjaws/node-wget/issues"},"license":"MIT","readme":"# wget-improved\r\n[![CircleCI](https://circleci.com/gh/bearjaws/node-wget/tree/master.svg?style=svg)](https://circleci.com/gh/bearjaws/node-wget/tree/master)\r\n\r\nwget-improved simplifies retrieving files from any URL\r\n\r\nImprovements over [wuchengwei/node-wget](https://github.com/wuchengwei/node-wget)\r\n- Handles 3xx redirects (including infinite redirect loops)\r\n- Passes URL parameters\r\n- Better error reporting\r\n- Does not write using append (uses w+ identical to wget)\r\n- Handles gzip compression, allow you to automatically gunzip the stream\r\n\r\n## Install\r\n\r\n```\r\nnpm install wget-improved --save\r\n```\r\n\r\n## download(src, output, options)\r\n\r\n```js\r\nconst wget = require('wget-improved');\r\nconst src = 'http://nodejs.org/images/logo.svg';\r\nconst output = '/tmp/logo.svg';\r\nconst options = {\r\n    // see options below\r\n};\r\nlet download = wget.download(src, output, options);\r\ndownload.on('error', function(err) {\r\n    console.log(err);\r\n});\r\ndownload.on('start', function(fileSize) {\r\n    console.log(fileSize);\r\n});\r\ndownload.on('end', function(output) {\r\n    console.log(output);\r\n});\r\ndownload.on('progress', function(progress) {\r\n    typeof progress === 'number'\r\n    // code to show progress bar\r\n});\r\n```\r\n\r\n## request(options, callback)\r\n\r\n```js\r\nconst wget = require('wget');\r\nconst options = {\r\n    protocol: 'https',\r\n    host: 'raw.github.com',\r\n    path: '/Fyrd/caniuse/master/data.json',\r\n    proxy: 'http://host:port',\r\n    method: 'GET'\r\n};\r\nlet req = wget.request(options, function(res) {\r\n    let content = '';\r\n    if (res.statusCode === 200) {\r\n        res.on('error', function(err) {\r\n            console.log(err);\r\n        });\r\n        res.on('data', function(chunk) {\r\n            content += chunk;\r\n        });\r\n        res.on('end', function() {\r\n            console.log(content);\r\n        });\r\n    } else {\r\n        console.log('Server respond ' + res.statusCode);\r\n    }\r\n});\r\n\r\nreq.end();\r\nreq.on('error', function(err) {\r\n    console.log(err);\r\n});\r\n```\r\n\r\n## options\r\n\r\n```js\r\n\r\noptions = {}\r\n    // Set to true to have any gzip stream automatically decompressed before saving\r\n    options.gunzip = false;\r\n    options.proxy = {};\r\n        options.proxy.protocol = 'http';\r\n        options.proxy.host = 'someproxy.org';\r\n        options.proxy.port = 1337;\r\n        options.proxy.proxyAuth = '{basic auth}';\r\n        options.proxy.headers = {'User-Agent': 'Node'};\r\n```\r\n\r\n## CLI\r\n\r\n```bash\r\n# If installed globally\r\nnwget https://raw.github.com/Fyrd/caniuse/master/data.json -O /tmp/data.json\r\n\r\n# If not installed globally\r\n./node_modules/.bin/nwget https://raw.github.com/Fyrd/caniuse/master/data.json -O /tmp/data.json\r\n```\r\n\r\n## Changes from 2.0.0 to 3.0.0\r\n**Progress is now returned as a Number instead of a String**\r\n\r\n**On start filesize can return null when the remote server does not provide content-length**\r\n\r\nException for not specifying protocol is now: `Your URL must use either HTTP or HTTPS.`\r\n\r\nSupports handling redirects that return a relative URL.\r\n\r\nYou can now get events for the **total** number of bytes downloaded `download.on('bytes', function(bytes) {}...)`\r\n\r\nRequest headers can be specified by passing an object to options.headers.\r\n\r\nUnit tests have been added for most download functionality and error cases. Tests are a requirement for all PRs going forward!\r\n\r\n","readmeFilename":"README.md"}