大佬教程收集整理的这篇文章主要介绍了node.js – 如何正确设置和测试Hapi域和子域?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
对于测试,我正在使用他们的文档中描述的Mocha和Hapi的注入方法.我也查看了他们的文档来设置服务器的properties,但我没有找到设置域名的例子,如locahost.en甚至子域名,如en.localhost.com.
目前,我的测试设置如下:
var server = new Hapi.Server(); server.connection({ //is this correct? uri:'localhost.en:3000',port: 3000 }); var handler = function(request,reply) { //return the parsed locale {String} return reply(accept(request,{ supported: ['en'] }).getFromDomain()); }; server.route({ method: 'GET',path: '/',handler: handler }); server.start(function() {});
其中inject设置如下:
server.inject({ method: 'GET',url: '/',headers: { 'Accept-Language': 'ja','Set-Cookie': 'mycookie=test' }},function(res) { assert.StrictEqual(res.result,'en'); done(); });
如何在服务器@L_450_3@中设置域和子域?是否有插件可以做到这一点?另外,我如何从请求中获取/解析域和子域?我假设我可以从主机名获取域名,但子域名怎么样?
如果您只想检查已解析的主机名(域),可以检查request.info.hostname
server.route({ method: 'GET',handler: function(request,reply) { var hostname = request.info.hostname; reply('Ok'); } });
如果要限制路径(或插件)允许的主机名,可以设置vhost选项.
server.route({ method: 'GET',vhost: ['en.example.com'],reply) { reply('Ok'); } });
要使用server.inject测试不同的vhost,可以只包含显式主机头
server.inject({ method: 'GET',headers: { 'Set-Cookie': 'mycookie=test',}},function(res) { Assert(res.statusCode === 404); // 404 because not en.example.com }); server.inject({ method: 'GET','Host': 'en.example.com' }},function(res) { Assert(res.statusCode === 200); // 200 because en.example.com });
以上是大佬教程为你收集整理的node.js – 如何正确设置和测试Hapi域和子域?全部内容,希望文章能够帮你解决node.js – 如何正确设置和测试Hapi域和子域?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。