code: def reconstruct_url(environ, port):
      
      # From WSGI spec, PEP 333
      url = environ.get('PATH_INFO', '')
      if not url.startswith(('http://', 'https://')):
          url = '%s://%s%s' % (
              environ['wsgi.url_scheme'],
              environ['HTTP_HOST'],
              url
          )
      # Fix ;arg=value in url
      if '%3B' in url:
          url, arg = url.split('%3B', 1)
          url = ';'.join([url, arg.replace('%3D', '=')])
      # Stick query string back in
      try:
          query_string = environ['QUERY_STRING']
      except KeyError:
          pass
      else:
          url += '?' + query_string
  
      parsed = urlparse(url)
      replaced = parsed._replace(netloc="localhost:{}".format(port))
      url = urlunparse(replaced)
      environ['reconstructed_url'] = url
      return url
docs: Reconstruct the remote url from the given WSGI ``environ`` dictionary.
  
      :param environ: the WSGI environment
      :type environ: :class:`collections.MutableMapping`
      :returns: the remote url to proxy
      :rtype: :class:`basestring`