devicer
v0.1.3
Published
Easily detect client device informations over http requests
Downloads
4
Maintainers
Readme
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 devicer
Test it if you want to
npm test
In 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.match
The user agent string matched as validDevice.compliance
The user agent compliance level. Usually "Mozilla/5.0" in modern browsersDevice.platform
The platform on which the client is runningDevice.build
The platform build, if specifiedDevice.additional
Any further specification on the user agentDevice.engine
ABrowserEngine
instance
Methods
Device#isIPad
Returnstrue
if the device is likely to be an iPadDevice#isIPhone
Returnstrue
if the device is likely to be an iPhoneDevice#isAndroid
Returnstrue
if the device is likely to be an android deviceDevice#isDesktop
Returnstrue
if the device is likely to be a desktop computerDevice#isMobile
Returnstrue
if the device is likely to be a mobile deviceDevice#isWin
Returnstrue
if the device is running WindowsDevice#isOSX
Returnstrue
if the device is running MAC OSXDevice#isLinux
Returnstrue
if the device is running Linux
Class BrowserEngine
Properties
BrowserEngine.name
The browser name string
Methods
BrowserEngine#isChrome
Returnstrue
if it is a Chrome browserBrowserEngine#isWebKit
Returnstrue
if it is a WebKit based browserBrowserEngine#isFirefox
Returnstrue
if it is a Firefox browserBrowserEngine#isOpera
Returnstrue
if it is an Opera browserBrowserEngine#isSafari
Returnstrue
if it is a Safari browserBrowserEngine#isIE
Returnstrue
if it is an Internet Explorer or Microsoft Edge browser