24 lines
		
	
	
		
			527 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			527 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
'use strict';
 | 
						|
 | 
						|
var querystringParser = require('@smithy/querystring-parser');
 | 
						|
 | 
						|
const parseUrl = (url) => {
 | 
						|
    if (typeof url === "string") {
 | 
						|
        return parseUrl(new URL(url));
 | 
						|
    }
 | 
						|
    const { hostname, pathname, port, protocol, search } = url;
 | 
						|
    let query;
 | 
						|
    if (search) {
 | 
						|
        query = querystringParser.parseQueryString(search);
 | 
						|
    }
 | 
						|
    return {
 | 
						|
        hostname,
 | 
						|
        port: port ? parseInt(port) : undefined,
 | 
						|
        protocol,
 | 
						|
        path: pathname,
 | 
						|
        query,
 | 
						|
    };
 | 
						|
};
 | 
						|
 | 
						|
exports.parseUrl = parseUrl;
 |