referrer
v1.0.2
Published
Node referrer parser with express middleware.
Downloads
33
Maintainers
Readme
Referrer ![Gitter](https://badges.gitter.im/Join Chat.svg)
Node referrer parser and tools (with express middleware).
DO NOT USE
How To Use
Install
npm install referrer
Usage
var referrer = require('referrer');
referrer.parse('https://twitter.com/MikeDiarmid', function (result) {
console.log(result);
// Returns:
/*
{
"type": "social",
"name": "Twitter",
"domain": "twitter.com",
"url": "http://twitter.com/MikeDiarmid",
"shortened": "http://twitter.com/MikeDiarmid",
"path": "/MikeDiarmid"
}
*/
});
Express.js Middleware
var referrer = require('referrer'),
express = require('express');
var app = express();
// use middleware (creates a 'referrer' property on 'req')
app.use(referrer.middleware);
app.use(app.router);
app.get('/', function (req, res, next) {
return res.send(req.referrer);
});
var port = 8000;
app.listen(port);
console.log('Server listening on port : ' + port);
Default Matchers
Social
- Google+
Search
- Bing
- Yahoo
- Baidu
- Yandex
- Naver
- Daum
- Nate
Email Clients
- Gmail
- Yahoo
- Hotmail
- Naver
- Daum
Ads
- Bing
- Yahoo
Internal
Internal referrers occur when a visitor navigates between two pages on the same domain. Example: http://site.com => http://site.com/about
Link
If there is a referrer present but it's unrecognized, we'll just call it a link referrer.
Direct
When a visitor navigates to a site by typing in the url into the address bar, document.referrer
is blank. This is called a direct referral.
Add Default Matchers
Matchers help identify and attach more semantic information to referral sources. If you'd like to help with adding the hundreds of social, search, ad, and other referral sources not matched yet then see below.
To add matchers:
- Using existing matchers as an example, create your matcher at /lib/matchers.json.
- Add your test cases to the test cases file.
- Run and confirm that your test cases pass:
npm test
- Add your matcher to the readme.
- Submit your pull request!
OR
- Submit a Feature Request Issue with the details of the referral source and I'll add it.
Use Custom Matchers
- Coming soon.
Disable Default Matchers
- Coming soon.