handler(request, reply) { const { body, recipient, originator, createdDatetime } = request.payload; receivedMessages.push({ body, originator, recipient, createdDatetime }); console.log('Message received: ', receivedMessages); reply('OK').code(200); }
//http://localhost:8000/getAVol //{"volId": 5} server.route({ method: 'POST', path:'/getAVol', handler: function (request, reply) { const volId = request.payload.volId; for(let i = 0; i < allVols.length; i++){ let vol = allVols[i]; if(vol.volId === volId) { return reply(vol); } } let retObj = {volId: -1, message: "Vol not found"}; return reply(retObj); } });
server.route({ method: 'POST', path:'/travis', handler: function (request, reply) { let travisSignature = Buffer.from(request.headers.signature, 'base64'); let payload = request.payload.payload; let status = false; got('https://api.travis-ci.org/config', { timeout: 10000 }) .then(response => { let travisPublicKey = JSON.parse(response.body).config.notifications.webhook.public_key; let verifier = crypto.createVerify('sha1'); verifier.update(payload); status = verifier.verify(travisPublicKey, travisSignature); }) .catch(error => { console.log('Something went wrong:\n' + error) }) .then(() => { if (status) { // Handle request here now that it has been verified... } reply(200); }); } });
server.route({ method: 'POST', path: '/v1/users', handler: (request, reply) => { //forge cria instancia em memoria User.forge(request.payload) .save() .then( (user) => reply(user) ) .catch( (err) => reply({error: err.detail}).code(409) ) }, config: { validate: { payload: Joi.object({ email: Joi.string().email().required(), password: Joi.string().required() }) } } })
server.route({ method: 'POST', path: '/messagedelete', handler: function (request, reply) { const mid = request.payload.mid; connection.query('Delete from messages WHERE mid = "' + mid + '"', function (error, results, fields) { if (error) throw error; reply(results); }); }, config: { validate: { payload: { mid: Joi.number().integer() } } } });
if (!request.payload) { return Boom.badRequest(); const isSetAction = request.payload.indexOf('</u:SetBinaryState>') > 0; if (!isSetAction) { debug('GetBinaryState Query'); } else { debug('!! Action received for device:\n', device, '\naction:\n', action); if (request.payload.indexOf('<BinaryState>1</BinaryState>') > 0) { action = 'on'; } else if (request.payload.indexOf('<BinaryState>0</BinaryState>') > 0) { action = 'off';
handler (req) { const {bucket, key} = req.params; const res = db.take(bucket, key, req.payload.count); logger.info({req, bucket, key, res}); return res;
// routes --------------------- server.route({ method: 'POST', path: '/api/public/authenticate', config: { // public route auth: false }, handler: (request, reply) => { // check if password matches, assume we only have an only user if (user.name != request.payload.name || user.password != request.payload.password) { reply({ success: false, message: 'Wrong password!' }); } else { // create a token let token = jwt.sign(user, 'mysecretKey', { expiresIn: '2d' }); reply({ success: true, message: 'Enjoy your token!', token: token }); } } });
server.route({ method: 'POST', path: '/send', handler(request, reply) { const message = { originator: 'Karan', recipients: [request.payload.number], body: request.payload.message }; messagebird.messages.create(message, function(err, response) { if (err) { return reply(err.errors[0]).code(400); } const { body, originator, createdDatetime, recipients } = response; const data = { body, originator, recipient: recipients.items[0].recipient, createdDatetime }; console.log('Message sent: ', data); reply(data).code(200); }); } });
server.route({ method: 'POST', path: '/signup', handler: function (request, reply) { const username = request.payload.username; const email = request.payload.email; const password = request.payload.password; //Encryption var salt = Bcrypt.genSaltSync(); var encryptedPassword = Bcrypt.hashSync(password, salt); //Decrypt var orgPassword = Bcrypt.compareSync(password, encryptedPassword); connection.query('INSERT INTO users (username,email,password) VALUES ("' + username + '","' + email + '","' + encryptedPassword + '")', function (error, results, fields) { if (error) throw error; reply(results); }); }, config: { validate: { payload: { username: Joi.string().alphanum().min(3).max(30).required(), email: Joi.string().email(), password: Joi.string().regex(/^[a-zA-Z0-9]{8,30}$/) } } } });
server.route({ method: 'POST', path: '/messages', handler: function (request, reply) { const uid = request.payload.uid; connection.query('SELECT * FROM messages WHERE uid_fk = "' + uid + '"', function (error, results, fields) { if (error) throw error; reply(results); }); }, config: { validate: { payload: { uid: Joi.number().integer() } } } });