code: function(url) {
  
           var parts = url.match(/^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/);
           var result = {
               url : parts[0],
               scheme : parts[1],
               host : parts[3],
               port : parts[4],
               path : parts[5],
               query : parts[6],
               fragment : parts[7],
           };
           result.root =
              result.scheme + '://' +
              result.host +
              (result.port ? ':' + result.port : '');
  
           return result;
  
      }
docs: Parses a url and returns its individual components.
  
  @param {String} url
  @return {Object}