0.1.3 • Published 10 years ago
devicer v0.1.3
DeviceR
Easily get informations about client devices over http requests.
We are adding more detections over time, there is a lot of stuff to keep track of.
Install and quick usage
npm install --save devicerTest it if you want to
npm testIn any NodeJS module
var devicer = require('devicer');
var details = devicer.parseUserAgent(userAgentString);
// or, if you have an http request object
details = devicer.detect(req);Connect/Express middleware (see below for configuration options)
var devicer = require('devicer');
var app = require('express');
// req.device will be available after this middleware
app.use(devicer.middleware());DeviceR API
devicer.detect(request)
Searches the request object for a User-Agent header and parses it
returns: object
devicer.parseUserAgent(userAgentString)
Parses the userAgentString
returns: object
devicer.middleware(options)
A middleware to use in connect/express applications.
You may pass an options object to configure the middleware behaviour.
The following example also illustrates the default behaviour.
var devicer = require('devicer');
var app = require('express');
app.use(devicer.middleware({
// The property name on req that will hold the parse result
propertyName: 'device',
// If an error occurs
onError: function(err, req, res, next) {
next(err);
},
// If parse is succesfull
onSuccess: function(req, res, next) {
next(); // no-op
}
}));Output API
Class Device
A Device instance is what a call to detect, parseUserAgent methods returns and the DeviceR middleware sets on the request device property.
Properties
Device.matchThe user agent string matched as validDevice.complianceThe user agent compliance level. Usually "Mozilla/5.0" in modern browsersDevice.platformThe platform on which the client is runningDevice.buildThe platform build, if specifiedDevice.additionalAny further specification on the user agentDevice.engineABrowserEngineinstance
Methods
Device#isIPadReturnstrueif the device is likely to be an iPadDevice#isIPhoneReturnstrueif the device is likely to be an iPhoneDevice#isAndroidReturnstrueif the device is likely to be an android deviceDevice#isDesktopReturnstrueif the device is likely to be a desktop computerDevice#isMobileReturnstrueif the device is likely to be a mobile deviceDevice#isWinReturnstrueif the device is running WindowsDevice#isOSXReturnstrueif the device is running MAC OSXDevice#isLinuxReturnstrueif the device is running Linux
Class BrowserEngine
Properties
BrowserEngine.nameThe browser name string
Methods
BrowserEngine#isChromeReturnstrueif it is a Chrome browserBrowserEngine#isWebKitReturnstrueif it is a WebKit based browserBrowserEngine#isFirefoxReturnstrueif it is a Firefox browserBrowserEngine#isOperaReturnstrueif it is an Opera browserBrowserEngine#isSafariReturnstrueif it is a Safari browserBrowserEngine#isIEReturnstrueif it is an Internet Explorer or Microsoft Edge browser