fix: subdomains should be [] if the host is an ip (#807)

* fix: subdomains should be [] if the host is an ip

Fixes #775
This commit is contained in:
Adam Lau 2016-09-07 11:23:39 +08:00 committed by Yiyu He
parent 1aa85ce721
commit b1a14f1a73
2 changed files with 11 additions and 2 deletions

View file

@ -5,6 +5,7 @@
* Module dependencies.
*/
var net = require('net');
var contentType = require('content-type');
var stringify = require('url').format;
var parse = require('parseurl');
@ -417,7 +418,9 @@ module.exports = {
get subdomains() {
var offset = this.app.subdomainOffset;
return (this.host || '')
var host = this.host || '';
if (net.isIP(host)) return [];
return host
.split('.')
.reverse()
.slice(offset);

View file

@ -14,8 +14,14 @@ describe('req.subdomains', function(){
req.subdomains.should.eql(['tobi']);
})
describe('with no host present', function(){
it('should work with no host present', function(){
var req = request();
req.subdomains.should.eql([]);
})
it('should check if the host is an ip address', function(){
var req = request();
req.header.host = '127.0.0.1';
req.subdomains.should.eql([]);
});
})