08-27-周三_17-09-29
This commit is contained in:
24
node_modules/dnode/example/auth/client.js
generated
vendored
Normal file
24
node_modules/dnode/example/auth/client.js
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
var dnode = require('dnode');
|
||||
|
||||
if (process.argv.length < 4) {
|
||||
return console.error('Usage: ./client.js user pass');
|
||||
}
|
||||
|
||||
var user = process.argv[2];
|
||||
var pass = process.argv[3];
|
||||
|
||||
var d = dnode.connect(7007);
|
||||
d.on('remote', function (remote) {
|
||||
remote.auth(user, pass, function (err, session) {
|
||||
if (err) {
|
||||
console.error(err);
|
||||
return d.end();
|
||||
}
|
||||
|
||||
session.quote(function (q) {
|
||||
console.log('And now for a quote by ' + q.who + ':\n');
|
||||
console.log(q.quote + '\n');
|
||||
d.end();
|
||||
});
|
||||
});
|
||||
});
|
18
node_modules/dnode/example/auth/quotes.json
generated
vendored
Normal file
18
node_modules/dnode/example/auth/quotes.json
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
[
|
||||
{
|
||||
"quote" : "Beauty is a consequential thing, a product of solving problems correctly.",
|
||||
"who" : "Joseph Eshrick"
|
||||
},
|
||||
{
|
||||
"quote" : "If you wish to make an apple pie from scratch, you must first invent the universe.",
|
||||
"who" : "Carl Sagan"
|
||||
},
|
||||
{
|
||||
"quote" : "If you're not allowed to implement new ideas, you stop having them.",
|
||||
"who" : "Paul Graham"
|
||||
},
|
||||
{
|
||||
"quote" : "For a successful technology, reality must take precedence over public relations, for nature cannot be fooled.",
|
||||
"who" : "Richard Feynman"
|
||||
}
|
||||
]
|
29
node_modules/dnode/example/auth/server.js
generated
vendored
Normal file
29
node_modules/dnode/example/auth/server.js
generated
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
var dnode = require('dnode');
|
||||
var fs = require('fs');
|
||||
var net = require('net');
|
||||
|
||||
var secretQuotes = require('./quotes.json');
|
||||
function randomQuote (cb) {
|
||||
var ix = Math.floor(Math.random() * secretQuotes.length);
|
||||
cb(secretQuotes[ix]);
|
||||
}
|
||||
|
||||
var server = net.createServer(function (stream) {
|
||||
var d = dnode({ auth : auth });
|
||||
d.pipe(stream).pipe(d);
|
||||
|
||||
function auth (user, pass, cb) {
|
||||
if (typeof cb !== 'function') return;
|
||||
|
||||
if (user === 'moo' && pass === 'hax') {
|
||||
console.log('signed in: ' + user);
|
||||
d.on('end', function () {
|
||||
console.log('disconnected: ' + user);
|
||||
});
|
||||
|
||||
cb(null, { quote : randomQuote });
|
||||
}
|
||||
else cb('ACCESS DENIED')
|
||||
}
|
||||
});
|
||||
server.listen(7007);
|
Reference in New Issue
Block a user