Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
tokuhirom committed Dec 10, 2011
1 parent 47eddb8 commit 7dae8a0
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 12 deletions.
4 changes: 2 additions & 2 deletions README.mkdn
Expand Up @@ -7,11 +7,11 @@ But this module can work on browsers.
Usage
------

var ma = require('mobileagent.js'),
var MobileAgent = require('../mobileagent.js'),
http = require('http');

http.createServer(function (req, res) {
var ma = ma.getMobileAgent(req);
var ma = MobileAgent.getMobileAgent(req);

res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello ' + ma.getCarrierLongName() + '\n');
Expand Down
4 changes: 2 additions & 2 deletions eg/server.js
@@ -1,8 +1,8 @@
var ma = require('../mobileagent.js'),
var MobileAgent = require('../mobileagent.js'),
http = require('http');

http.createServer(function (req, res) {
var ma = ma.getMobileAgent(req);
var ma = MobileAgent.getMobileAgent(req);

res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello ' + ma.getCarrierLongName() + '\n');
Expand Down
26 changes: 18 additions & 8 deletions mobileagent.js
Expand Up @@ -455,19 +455,29 @@ var MobileAgentNonMobile = MobileAgentBase.extend({
* @param req request object. It is normally node.js' HTTP request.
**/
function getMobileAgent(req) {
var ua = req['user-agent'],
carrier = detectCarrier(ua);
switch (carrier) {
var ua,
headers,
carrier;
if (typeof req === 'object') {
if ('headers' in req) {
headers = req['headers'];
} else {
headers = req;
}
} else {
headers = { 'user-agent': req }; // plain string
}
switch (detectCarrier(headers['user-agent'])) {
case 'I':
return new MobileAgentDoCoMo(req);
return new MobileAgentDoCoMo(headers);
case 'V':
return new MobileAgentSoftBank(req);
return new MobileAgentSoftBank(headers);
case 'E':
return new MobileAgentEZWeb(req);
return new MobileAgentEZWeb(headers);
case 'H':
return new MobileAgentAirHPhone(req);
return new MobileAgentAirHPhone(headers);
default:
return new MobileAgentNonMobile(req);
return new MobileAgentNonMobile(headers);
}
}

Expand Down

0 comments on commit 7dae8a0

Please sign in to comment.