plesiecki / polyfill-useragent-normaliser

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

polyfill.io User Agent normaliser

This is the VCL & JS implementation of the User-Agent normalisation used within the polyfill-service and the polyfill-library.

Usage

For a request which was the user-agent Chrome 71.1:

Example in VCL

import "normalise-user-agent.vcl";

sub vcl_recv {
  call normalise_user_agent_1_0_6;
#   req.http.normalized_user_agent_family = "chrome";
#   req.http.normalized_user_agent_major_version = "71";
#   req.http.normalized_user_agent_minor_version = "1";
#   req.http.normalized_user_agent_patch_version = "0";
#   req.http.Normalized-User-Agent = "chrome/71.1.0";
}

Example in JS

const UA = require('@financial-times/polyfill-useragent-normaliser');

const useragent = new UA(request.headers['user-agent']);
console.log(useragent.isUnknown()); // false
console.log(useragent.satisfies("<50")); // false
console.log(useragent.satisfies(">50")); // true

About


Languages

Language:VCL 59.2%Language:JavaScript 37.9%Language:Shell 2.5%Language:HCL 0.5%