UNPKG

radxa-rock

Version:

GPIO interface for the Radxa Rock

61 lines (57 loc) 1.31 kB
var Hapi = require('hapi'); var Joi = require('joi'); var routeConfig = { /* description: "Used to proxy a request from the client to an external endpoint.", validate: { query: Joi.object({url: Joi.string().required() }).options({allowUnknown: true}) }, */ handler: { proxy: { mapUri: function(req, cb){ if(!req.query.url){ req.raw.res.end('Need URL'); }else{ return cb(null, req.query.url); } }, passThrough: true } } }; var proxyLoader = function(req, reply){ reply(req.payload.uploadfile?req.payload.uploadfile:req.payload); }; module.exports = function(options, next){ var config = options.config; var server = options.hapi; server.route([ { method: 'GET', path: config.route + 'proxy', config: routeConfig }, { method: 'POST', path: config.route + 'proxy', config: routeConfig }, { method: 'POST', path: config.route + 'proxy/loader', handler: proxyLoader }, { method: 'PUT', path: config.route + 'proxy', config: routeConfig }, { method: 'DELETE', path: config.route + 'proxy', config: routeConfig }, ]); next(); };