29 lines
		
	
	
		
			553 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			553 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| 
 | |
| 
 | |
| // Copied from https://github.com/nodejs/node/blob/master/lib/internal/url.js
 | |
| 
 | |
| function urlToOptions(url) {
 | |
|   var options = {
 | |
|     protocol: url.protocol,
 | |
|     hostname: url.hostname,
 | |
|     hash: url.hash,
 | |
|     search: url.search,
 | |
|     pathname: url.pathname,
 | |
|     path: `${url.pathname}${url.search}`,
 | |
|     href: url.href
 | |
|   };
 | |
|   if (url.port !== '') {
 | |
|     options.port = Number(url.port);
 | |
|   }
 | |
|   if (url.username || url.password) {
 | |
|     options.auth = `${url.username}:${url.password}`;
 | |
|   }
 | |
|   return options;
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 | |
| module.exports = urlToOptions;
 |