我有一个用Hapi.js构建的服务器.我创建了一个插件来限制对某些本地网络IP地址的访问,如下所示:
exports.register = function (server, options, next) {
server.ext({
type: 'onRequest',
method: function (request, reply) {
console.log(request);
if (
request.info.remoteAddress.indexOf("192.") !== 0 &&
request.info.remoteAddress.indexOf("127.") !== 0
) {
return reply.view('error', {
error: "I DON'T LIKE YOU"
});
}
return reply.continue();
}
});
next();
};
exports.register.attributes = {
pkg: { "name": "localOnly" }
};
Run Code Online (Sandbox Code Playgroud)
我想将此插件仅应用于"/ pathA",同时保持所有用户都可以访问"/ pathB"和"/ pathC".因此我尝试这样做:
const server = new Hapi.Server();
server.connection({ port: 8000 });
server.register(require('vision'), err => {
if (err) throw err;
server.views(/* removed for brevity */);
server.route({ …Run Code Online (Sandbox Code Playgroud) 我想创建一个函数,它接受一个接受特定类型参数作为参数的函数.例如:
myFn(Function paramFn) {
paramFn([1, 2, 3]);
}
Run Code Online (Sandbox Code Playgroud)
如何确保paramFn接受一个List<int>唯一的参数?