| 
									
										
										
										
											2019-10-24 18:48:34 -06:00
										 |  |  | 'use strict'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var os = require('os'); | 
					
						
							| 
									
										
										
										
											2019-10-25 04:54:40 -06:00
										 |  |  | var ver = require('../../package.json').version; | 
					
						
							| 
									
										
										
										
											2019-10-24 18:48:34 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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 = | 
					
						
							| 
									
										
										
										
											2019-10-24 18:53:08 -06:00
										 |  |  | 		'ACME.js/' + | 
					
						
							|  |  |  | 		ver + | 
					
						
							|  |  |  | 		' ' + | 
					
						
							| 
									
										
										
										
											2019-10-24 18:48:34 -06:00
										 |  |  | 		process.release.name + | 
					
						
							|  |  |  | 		'/' + | 
					
						
							|  |  |  | 		process.version + | 
					
						
							|  |  |  | 		' ' + | 
					
						
							|  |  |  | 		os.platform() + | 
					
						
							|  |  |  | 		'/' + | 
					
						
							|  |  |  | 		os.release() + | 
					
						
							|  |  |  | 		' ' + | 
					
						
							|  |  |  | 		os.type() + | 
					
						
							|  |  |  | 		'/' + | 
					
						
							|  |  |  | 		process.arch; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	var pkg = me.packageAgent; | 
					
						
							|  |  |  | 	if (pkg) { | 
					
						
							|  |  |  | 		ua = pkg + ' ' + ua; | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return ua; | 
					
						
							|  |  |  | }; |