serdarshefketov

parceUrl

Jan 11th, 2022 (edited)
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const parseUrl = (urlInput) => {
  2.     let urlObject = {
  3.         protocol: '',
  4.         host: '',
  5.         path: '',
  6.         query: {},
  7.     }
  8.  
  9.     let urlProtocol = urlInput.indexOf('://');
  10.     urlObject.protocol = urlInput.substring(0 ,urlProtocol); // https
  11.  
  12.     urlInput = urlInput.substring(urlProtocol+3);
  13.  
  14.     let urlHost = urlInput.indexOf('/');
  15.     urlObject.host = urlInput.substring(0, urlHost);
  16.  
  17.     urlInput = urlInput.substring(urlHost);
  18.  
  19.     let urlPath = urlInput.indexOf('?');
  20.     urlObject.path = urlInput.substring(0 ,urlPath);
  21.  
  22.     urlInput = urlInput.substring(urlPath+1);
  23.  
  24.     if(urlInput.includes('&'))  {
  25.         let splitUrlInput = urlInput.split('&');  // q=cats region=eu
  26.         // console.log((splitUrlInput));
  27.  
  28.         for (const any of splitUrlInput) { // [ 'q', 'cats' ]  [ 'region', 'eu' ]
  29.            
  30.             let toUseArr = any.split('=');
  31.  
  32.             let keyToAssign = toUseArr[0].toString();
  33.             urlObject.query[keyToAssign] = toUseArr[1];
  34.         }
  35.     } else {
  36.  
  37.         let splitUrlInput = urlInput.split('&');
  38.         for (const any of splitUrlInput) { // [ 'q', 'cats' ]  [ 'region', 'eu' ]
  39.            
  40.             let toUseArr = any.split('=');
  41.             let keyToAssign = toUseArr[0].toString();
  42.             urlObject.query[keyToAssign] = toUseArr[1];
  43.         }
  44.     }
  45.     return urlObject;
  46. };
Advertisement
Add Comment
Please, Sign In to add comment