UNPKG

makemehapi

Version:

Self guided workshops to teach you about hapi.

48 lines (41 loc) 1.09 kB
(async () => { try { const Hapi = require('@hapi/hapi'); const server = new Hapi.Server({ host: 'localhost', port: Number(process.argv[2] || 8080) }); server.route({ method: 'POST', path: '/upload', handler: (request, h) => new Promise((resolve, reject) => { let body = ''; request.payload.file.on('data', (data) => { body += data; }); request.payload.file.on('end', () => { const result = { description: request.payload.description, file: { data: body, filename: request.payload.file.hapi.filename, headers: request.payload.file.hapi.headers } }; return resolve(JSON.stringify(result)); }); request.payload.file.on('error', err => reject(err)); }), options: { payload: { output: 'stream', parse: true, multipart: true } } }); await server.start(); } catch (error) { console.log(error); } })();