35 lines
689 B
JavaScript
35 lines
689 B
JavaScript
|
'use strict';
|
||
|
|
||
|
var os = require('os');
|
||
|
|
||
|
var UserAgent = module.exports;
|
||
|
UserAgent.get = function(me) {
|
||
|
// ACME clients MUST have an RFC7231-compliant User-Agent
|
||
|
// ex: Greenlock/v3 ACME.js/v3 node/v12.0.0 darwin/17.7.0 Darwin/x64
|
||
|
//
|
||
|
// See https://tools.ietf.org/html/rfc8555#section-6.1
|
||
|
// And https://tools.ietf.org/html/rfc7231#section-5.5.3
|
||
|
// And https://community.letsencrypt.org/t/user-agent-flag-explained/3843/2
|
||
|
|
||
|
var ua =
|
||
|
'ACME.js/v3 ' +
|
||
|
process.release.name +
|
||
|
'/' +
|
||
|
process.version +
|
||
|
' ' +
|
||
|
os.platform() +
|
||
|
'/' +
|
||
|
os.release() +
|
||
|
' ' +
|
||
|
os.type() +
|
||
|
'/' +
|
||
|
process.arch;
|
||
|
|
||
|
var pkg = me.packageAgent;
|
||
|
if (pkg) {
|
||
|
ua = pkg + ' ' + ua;
|
||
|
}
|
||
|
|
||
|
return ua;
|
||
|
};
|