mirror of
				https://github.com/therootcompany/greenlock.js.git
				synced 2024-11-16 17:29:00 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var DIR = module.exports;
 | |
| 
 | |
| // This will ALWAYS print out a notice if the URL is clearly a staging URL
 | |
| DIR._getDirectoryUrl = function(dirUrl, domain) {
 | |
|     var liveUrl = 'https://acme-v02.api.letsencrypt.org/directory';
 | |
|     dirUrl = DIR._getDefaultDirectoryUrl(dirUrl, '', domain);
 | |
|     if (!dirUrl) {
 | |
|         dirUrl = liveUrl;
 | |
|         // This will print out a notice (just once) if no directoryUrl has been supplied
 | |
|         if (!DIR._shownDirectoryUrl) {
 | |
|             DIR._shownDirectoryUrl = true;
 | |
|             console.info('ACME Directory URL:', dirUrl);
 | |
|         }
 | |
|     }
 | |
|     return dirUrl;
 | |
| };
 | |
| 
 | |
| // Handle staging URLs, pebble test server, etc
 | |
| DIR._getDefaultDirectoryUrl = function(dirUrl, staging, domain) {
 | |
|     var stagingUrl = 'https://acme-staging-v02.api.letsencrypt.org/directory';
 | |
|     var stagingRe = /(^http:|staging|^127\.0\.|^::|localhost)/;
 | |
|     var env = '';
 | |
|     var args = [];
 | |
|     if ('undefined' !== typeof process) {
 | |
|         env = (process.env && process.env.ENV) || '';
 | |
|         args = (process.argv && process.argv.slice(1)) || [];
 | |
|     }
 | |
| 
 | |
|     if (
 | |
|         staging ||
 | |
|         stagingRe.test(dirUrl) ||
 | |
|         args.includes('--staging') ||
 | |
|         /DEV|STAG/i.test(env)
 | |
|     ) {
 | |
|         if (!stagingRe.test(dirUrl)) {
 | |
|             dirUrl = stagingUrl;
 | |
|         }
 | |
|         console.info('[staging] ACME Staging Directory URL:', dirUrl, env);
 | |
|         console.warn('FAKE CERTIFICATES (for testing) only', env, domain);
 | |
|         console.warn('');
 | |
|     }
 | |
| 
 | |
|     return dirUrl;
 | |
| };
 | |
| 
 | |
| DIR._shownDirectoryUrl = false;
 |