Socket
Socket
Sign inDemoInstall

node-wget-fetch

Package Overview
Dependencies
7
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.1 to 1.0.2

4

package.json
{
"name": "node-wget-fetch",
"version": "1.0.1",
"version": "1.0.2",
"description": "Ultra simple async retrieval of resources or remote files over http or https, an cli tool, and convenience wrapper of node-fetch.",

@@ -45,3 +45,3 @@ "main": "wget-fetch.js",

"wget-fetch.js",
"wget-fetch.d.ts"
"README.md"
],

@@ -48,0 +48,0 @@ "dependencies": {

@@ -35,3 +35,3 @@ # node-wget-fetch

- `options` Standard *Request/Fetch* [Options](https://www.npmjs.com/package/node-fetch#fetch-options) for the HTTP(S) request
- Returns: **Promise** of `response body` of above **type**
- Returns: **Promise** of `response body` of above **type**, only if **status text** is `OK`

@@ -117,3 +117,3 @@ ## Convenience Request Methods

console.log('--- Do file retrieved match "Content-Length"?:');
console.log(info.retrievedSizeMatch);
console.log(info.fileSizeMatch);
})

@@ -120,0 +120,0 @@ .catch((error) => {

@@ -64,53 +64,59 @@ 'use strict';

.then(res => {
switch (action) {
case 'header':
return new Promise((resolve) => resolve(res.headers.raw()));
case 'object':
return new Promise((resolve) => resolve(res));
case 'array':
return res.arrayBuffer();
case 'buffer':
return res.buffer();
case 'blob':
return res.blob();
case 'json':
return res.json();
case 'text':
return res.text();
case 'converted':
return res.textConverted();
case 'stream':
return new Promise((resolve) => resolve(res.body));
default:
return new Promise((resolve, reject) => {
const fileSize = Number.isInteger(res.headers.get('content-length') - 0) ?
parseInt(res.headers.get('content-length')) :
0;
let downloadedSize = 0;
const writer = fs.createWriteStream(destination, {
flags: 'w+',
encoding: 'binary'
});
res.body.pipe(writer);
if (res.statusText === 'OK') {
switch (action) {
case 'header':
return new Promise((resolve) => resolve(res.headers.raw()));
case 'object':
return new Promise((resolve) => resolve(res));
case 'array':
return res.arrayBuffer();
case 'buffer':
return res.buffer();
case 'blob':
return res.blob();
case 'json':
return res.json();
case 'text':
return res.text();
case 'converted':
return res.textConverted();
case 'stream':
return new Promise((resolve) => resolve(res.body));
default:
return new Promise((resolve, reject) => {
const fileSize = Number.isInteger(res.headers.get('content-length') - 0) ?
parseInt(res.headers.get('content-length')) :
0;
let downloadedSize = 0;
const writer = fs.createWriteStream(destination, {
flags: 'w+',
encoding: 'binary'
});
res.body.pipe(writer);
res.body.on('data', function (chunk) {
downloadedSize += chunk.length;
});
res.body.on('data', function (chunk) {
downloadedSize += chunk.length;
});
writer.on('finish', () => {
writer.end();
let info = {
filepath: destination,
fileSize: downloadedSize,
retrievedSizeMatch: (fileSize === downloadedSize)
};
writer.on('finish', () => {
writer.end();
let info = {
filepath: destination,
fileSize: downloadedSize,
fileSizeMatch: (fileSize === downloadedSize)
};
info.headers = res.headers.raw();
return resolve(info);
info.headers = res.headers.raw();
return resolve(info);
});
writer.on('error', reject);
});
writer.on('error', reject);
});
}
} else {
throw ("Fetch to " + src + " failed, with status text: " + res.statusText);
}
})
.catch(err => console.log(err));
.catch(err => {
return new Promise((resolve, reject) => reject(err));
});
}

@@ -117,0 +123,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc