Updated the files.
This commit is contained in:
parent
1553e6b971
commit
753967d4f5
23418 changed files with 3784666 additions and 0 deletions
22
my-app/node_modules/needle/examples/deflated-stream.js
generated
vendored
Executable file
22
my-app/node_modules/needle/examples/deflated-stream.js
generated
vendored
Executable file
|
@ -0,0 +1,22 @@
|
|||
var fs = require('fs'),
|
||||
stream = require('stream'),
|
||||
needle = require('./../');
|
||||
|
||||
var url = 'http://ibl.gamechaser.net/f/tagqfxtteucbuldhezkz/bt_level1.gz';
|
||||
|
||||
var resp = needle.get(url, { compressed: true, follow_max: 10 });
|
||||
console.log('Downloading...');
|
||||
|
||||
resp.on('readable', function() {
|
||||
|
||||
while (data = this.read()) {
|
||||
var lines = data.toString().split('\n');
|
||||
console.log('Got ' + lines.length + ' items.');
|
||||
// console.log(lines);
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
resp.on('done', function(data) {
|
||||
console.log('Done');
|
||||
})
|
16
my-app/node_modules/needle/examples/digest-auth.js
generated
vendored
Executable file
16
my-app/node_modules/needle/examples/digest-auth.js
generated
vendored
Executable file
|
@ -0,0 +1,16 @@
|
|||
var needle = require('./..');
|
||||
|
||||
var opts = {
|
||||
username: 'user3',
|
||||
password: 'user3',
|
||||
auth: 'digest'
|
||||
}
|
||||
|
||||
needle.get('http://test.webdav.org/auth-digest/', opts, function(err, resp, body) {
|
||||
console.log(resp.headers);
|
||||
|
||||
if (resp.statusCode == 401)
|
||||
console.log('\nIt failed.')
|
||||
else
|
||||
console.log('\nIt worked!')
|
||||
});
|
18
my-app/node_modules/needle/examples/download-to-file.js
generated
vendored
Executable file
18
my-app/node_modules/needle/examples/download-to-file.js
generated
vendored
Executable file
|
@ -0,0 +1,18 @@
|
|||
var fs = require('fs'),
|
||||
needle = require('./..'),
|
||||
path = require('path');
|
||||
|
||||
var url = process.argv[2] || 'https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png';
|
||||
var file = path.basename(url);
|
||||
|
||||
console.log('Downloading ' + file);
|
||||
|
||||
needle.get(url, { output: file, follow: 3 }, function(err, resp, data){
|
||||
console.log('File saved: ' + process.cwd() + '/' + file);
|
||||
|
||||
var size = fs.statSync(file).size;
|
||||
if (size == resp.bytes)
|
||||
console.log(resp.bytes + ' bytes written to file.');
|
||||
else
|
||||
throw new Error('File size mismatch: ' + size + ' != ' + resp.bytes);
|
||||
});
|
25
my-app/node_modules/needle/examples/multipart-stream.js
generated
vendored
Executable file
25
my-app/node_modules/needle/examples/multipart-stream.js
generated
vendored
Executable file
|
@ -0,0 +1,25 @@
|
|||
var needle = require('./../');
|
||||
|
||||
var url = 'http://posttestserver.com/post.php?dir=needle';
|
||||
|
||||
var black_pixel = Buffer.from("R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=", 'base64');
|
||||
|
||||
var data = {
|
||||
foo: 'bar',
|
||||
nested: {
|
||||
test: 123
|
||||
},
|
||||
image: { buffer: black_pixel, content_type: 'image/gif' }
|
||||
}
|
||||
|
||||
var resp = needle.post(url, data, { multipart: true });
|
||||
|
||||
resp.on('readable', function() {
|
||||
while (data = this.read()) {
|
||||
console.log(data.toString());
|
||||
}
|
||||
})
|
||||
|
||||
resp.on('done', function(data) {
|
||||
console.log('Done.');
|
||||
})
|
23
my-app/node_modules/needle/examples/parsed-stream.js
generated
vendored
Executable file
23
my-app/node_modules/needle/examples/parsed-stream.js
generated
vendored
Executable file
|
@ -0,0 +1,23 @@
|
|||
//////////////////////////////////////////
|
||||
// This example demonstrates what happends
|
||||
// when you use the built-in JSON parser.
|
||||
//////////////////////////////////////////
|
||||
|
||||
var fs = require('fs'),
|
||||
stream = require('stream'),
|
||||
needle = require('./../');
|
||||
|
||||
var url = 'http://ip.jsontest.com/',
|
||||
resp = needle.get(url, { parse: true });
|
||||
|
||||
resp.on('readable', function(obj) {
|
||||
var chunk;
|
||||
|
||||
while (chunk = this.read()) {
|
||||
console.log('root = ', chunk);
|
||||
}
|
||||
});
|
||||
|
||||
resp.on('done', function() {
|
||||
console.log('Done.');
|
||||
});
|
21
my-app/node_modules/needle/examples/parsed-stream2.js
generated
vendored
Executable file
21
my-app/node_modules/needle/examples/parsed-stream2.js
generated
vendored
Executable file
|
@ -0,0 +1,21 @@
|
|||
//////////////////////////////////////////
|
||||
// This example illustrates a more complex
|
||||
// example of parsing a JSON stream.
|
||||
//////////////////////////////////////////
|
||||
|
||||
var needle = require('./../'),
|
||||
JSONStream = require('JSONStream');
|
||||
|
||||
var url = 'http://jsonplaceholder.typicode.com/db';
|
||||
|
||||
// Initialize our GET request with our default (JSON)
|
||||
// parsers disabled.
|
||||
|
||||
var json = new needle.get(url, {parse: false})
|
||||
// And now interpret the stream as JSON, returning only the
|
||||
// title of all the posts.
|
||||
.pipe(new JSONStream.parse('posts.*.title'));
|
||||
|
||||
json.on('data', function (obj) {
|
||||
console.log('got title: \'' + obj + '\'');
|
||||
})
|
23
my-app/node_modules/needle/examples/stream-events.js
generated
vendored
Executable file
23
my-app/node_modules/needle/examples/stream-events.js
generated
vendored
Executable file
|
@ -0,0 +1,23 @@
|
|||
var needle = require('./..');
|
||||
|
||||
var resp = needle.get('google.com', { follow_max: 10, timeout: 5000 });
|
||||
|
||||
resp.on('readable', function() {
|
||||
var chunk;
|
||||
while (chunk = this.read()) {
|
||||
console.log('Got ' + chunk.length + ' bytes');
|
||||
}
|
||||
})
|
||||
|
||||
resp.on('headers', function(headers) {
|
||||
console.log('Got headers', headers);
|
||||
})
|
||||
|
||||
resp.on('redirect', function(url) {
|
||||
console.log('Redirected to url ' + url);
|
||||
})
|
||||
|
||||
resp.on('done', function(err) {
|
||||
console.log('Finished. No more data to receive.');
|
||||
if (err) console.log('With error', err)
|
||||
})
|
21
my-app/node_modules/needle/examples/stream-multiple/app.js
generated
vendored
Executable file
21
my-app/node_modules/needle/examples/stream-multiple/app.js
generated
vendored
Executable file
|
@ -0,0 +1,21 @@
|
|||
const express = require("express");
|
||||
const bodyParser = require("body-parser");
|
||||
const app = express();
|
||||
const { stream_multiple } = require('./stream-multiple')
|
||||
const env = require('./env')
|
||||
|
||||
app.use(
|
||||
bodyParser.urlencoded({ extended: false }),
|
||||
bodyParser.json(),
|
||||
express.static(__dirname + '/public'),
|
||||
);
|
||||
|
||||
app.get('/', (req, res) => res.send(`
|
||||
<h1>Thanks Tomás Pollak</h1>
|
||||
<a href="/stream_files">Stream Multiple Files</a>
|
||||
`));
|
||||
|
||||
app.get('/stream_multiple_files', (req, res) => stream_multiple(req, res, env._urls, env.stream_dir));
|
||||
|
||||
let PORT = process.env.PORT || 3000;
|
||||
app.listen(PORT, console.log(`Main Server: ${PORT}`));
|
9
my-app/node_modules/needle/examples/stream-multiple/env.js
generated
vendored
Executable file
9
my-app/node_modules/needle/examples/stream-multiple/env.js
generated
vendored
Executable file
|
@ -0,0 +1,9 @@
|
|||
module.exports = {
|
||||
_urls: [
|
||||
"https://images.unsplash.com/photo-1619410283995-43d9134e7656?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80",
|
||||
"https://images.unsplash.com/photo-1555949963-aa79dcee981c?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80",
|
||||
"https://images.unsplash.com/photo-1511376777868-611b54f68947?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80"
|
||||
],
|
||||
_url: "https://images.unsplash.com/photo-1511376777868-611b54f68947?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=1170&q=80",
|
||||
stream_dir: `public/`
|
||||
}
|
19
my-app/node_modules/needle/examples/stream-multiple/package.json
generated
vendored
Executable file
19
my-app/node_modules/needle/examples/stream-multiple/package.json
generated
vendored
Executable file
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"name": "express-needle",
|
||||
"version": "1.0.0",
|
||||
"description": "Express & Needle are friends <3",
|
||||
"main": "app.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"start": "nodemon app.js"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "mohamed-bahaa21",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"body-parser": "^1.20.1",
|
||||
"express": "^4.18.2",
|
||||
"fs-extra": "^10.1.0",
|
||||
"needle": "^3.1.0"
|
||||
}
|
||||
}
|
50
my-app/node_modules/needle/examples/stream-multiple/stream-multiple.js
generated
vendored
Executable file
50
my-app/node_modules/needle/examples/stream-multiple/stream-multiple.js
generated
vendored
Executable file
|
@ -0,0 +1,50 @@
|
|||
var needle = require('needle');
|
||||
const fs = require('fs-extra')
|
||||
|
||||
function stream_multiple(req, res, _urls, stream_dir, index = 0) {
|
||||
if (index == 0) {
|
||||
// initial state
|
||||
}
|
||||
|
||||
let writeStream;
|
||||
const uri = _urls[index];
|
||||
|
||||
if (index == undefined) {
|
||||
index = 0;
|
||||
stream_multiple(req, res, _urls, stream_dir, index);
|
||||
} else {
|
||||
|
||||
writeStream = fs.createWriteStream(`${stream_dir}` + `${index}.jpeg`);
|
||||
|
||||
writeStream.on("ready", () => console.log({ msg: `STREAM::WRITE::READY::${index}` }));
|
||||
writeStream.on("open", () => console.log({ msg: `STREAM::WRITE::OPEN::${index}` }));
|
||||
writeStream.on("finish", () => console.log({ msg: `STREAM::WRITE::DONE::${index}` }));
|
||||
|
||||
writeStream.on('close', () => {
|
||||
if (index >= _urls.length - 1) {
|
||||
res.redirect('/');
|
||||
} else {
|
||||
stream_multiple(req, res, _urls, stream_dir, index + 1);
|
||||
}
|
||||
})
|
||||
|
||||
needle
|
||||
.get(uri, function (error, response) {
|
||||
if (response.bytes >= 1) {
|
||||
// you want to kill our servers
|
||||
}
|
||||
|
||||
if (!error && response.statusCode == 200) {
|
||||
// good
|
||||
} else {
|
||||
// then we can retry later
|
||||
}
|
||||
})
|
||||
.pipe(writeStream)
|
||||
.on('done', function () {
|
||||
// needle
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = { stream_multiple }
|
14
my-app/node_modules/needle/examples/stream-to-file.js
generated
vendored
Executable file
14
my-app/node_modules/needle/examples/stream-to-file.js
generated
vendored
Executable file
|
@ -0,0 +1,14 @@
|
|||
var fs = require('fs'),
|
||||
needle = require('./..'),
|
||||
path = require('path');
|
||||
|
||||
var url = process.argv[2] || 'http://www.google.com/images/errors/robot.png';
|
||||
var file = path.basename(url);
|
||||
|
||||
console.log('Downloading ' + file + '...');
|
||||
needle
|
||||
.get(url)
|
||||
.pipe(fs.createWriteStream(file))
|
||||
.on('done', function() {
|
||||
console.log('Done!')
|
||||
})
|
51
my-app/node_modules/needle/examples/upload-image.js
generated
vendored
Executable file
51
my-app/node_modules/needle/examples/upload-image.js
generated
vendored
Executable file
|
@ -0,0 +1,51 @@
|
|||
var needle = require('../'),
|
||||
path = require('path');
|
||||
|
||||
var image = 'https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png';
|
||||
|
||||
function upload(obj, cb) {
|
||||
console.log('Uploading image...');
|
||||
|
||||
var url = 'http://deviantsart.com';
|
||||
|
||||
var opts = {
|
||||
timeout: 10000,
|
||||
follow: 3,
|
||||
multipart: true
|
||||
};
|
||||
|
||||
var params = {
|
||||
file: obj
|
||||
}
|
||||
|
||||
needle.post(url, params, opts, function(err, resp) {
|
||||
if (err || !resp.body.match('url'))
|
||||
return cb(err || new Error('No image URL found.'))
|
||||
|
||||
cb(null, JSON.parse(resp.body).url)
|
||||
})
|
||||
}
|
||||
|
||||
function download(url, cb) {
|
||||
console.log('Getting ' + url);
|
||||
needle.get(url, function(err, resp) {
|
||||
if (err) throw err;
|
||||
|
||||
cb(null, resp.body);
|
||||
})
|
||||
}
|
||||
|
||||
////////////////////////////////////////
|
||||
// ok, now go.
|
||||
|
||||
download(image, function(err, buffer) {
|
||||
if (err) throw err;
|
||||
|
||||
var obj = { buffer: buffer, content_type: 'image/png' };
|
||||
|
||||
upload(obj, function(err, url) {
|
||||
if (err) throw err;
|
||||
|
||||
console.log('Image uploaded to ' + url);
|
||||
})
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue