Skip to content

Instantly share code, notes, and snippets.

@pietrocaselani
Created November 19, 2016 15:17
Show Gist options
  • Save pietrocaselani/509d0470fa479beb9415aae7bd298687 to your computer and use it in GitHub Desktop.
Save pietrocaselani/509d0470fa479beb9415aae7bd298687 to your computer and use it in GitHub Desktop.
var restify = require('restify');
var MongoClient = require('mongodb').MongoClient;
var passport = require('passport');
var Strategy = require('passport-http').BasicStrategy;
var server = restify.createServer();
var db;
passport.use(new Strategy(
function(username, password, done) {
var valid = username.valueOf() === 'involves' && password.valueOf() === 'user';
return done(null, valid);
}
));
server.use(restify.bodyParser());
server.use(passport.initialize())
MongoClient.connect('mongodb://192.168.200.38:32768/maestru', (err, database) => {
console.log("conectou");
db = database;
server.listen(8080, function() {
console.log('%s listening at %s', server.name, server.url);
});
})
server.get("/", function(req, res, next) {
res.send(200, {message: 'Hello World!'});
next();
});
server.get("/find_person/:name", function(req, res, next) {
name_to_find = req.params.name;
console.log("param = " + name_to_find)
db.collection('pessoas').findOne({"name": name_to_find}, (err, result) => {
if (result !== null && typeof result !== 'undefined') {
console.log(result)
res.send(result)
}
else {
res.send("Errou " + err);
}
next();
});
});
server.post("/new_person", function(req, res, next) {
var name = req.body.name;
var lastname = req.body.lastname;
db.collection('pessoas').save(req.body, (err, result) => {
console.log("Nova pessoa mongo = " + JSON.stringify(req.body));
next();
});
bodyStr = JSON.stringify(req.body);
res.send('Recebi no body ' + bodyStr);
console.log("Hey = " + bodyStr);
})
server.put("/update_person/:name", function(req, res, next) {
name_to_find = req.params.name;
console.log("param = " + name_to_find)
db.collection('pessoas').findOneAndUpdate(
{"name": name_to_find},
{"name": "Atualizou 3!! POrra!"},
{returnNewDocument: false},
(err, result) => {
if (err !== null && typeof err !== 'undefined') {
res.send("Errou! " + err);
} else {
var rowsModified = result.lastErrorObject.n
if (rowsModified == 0)
res.send(400, "Not found!");
else
res.send(result)
}
next();
}
);
});
server.get("/basicauth",
passport.authenticate('basic', {session: false}),
function(req, res, next) {
res.send('Authorized')
}
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment