code: def parse_wsgi_bind_location(bind_addr_string):
      
      # try and match for an IP/hostname and port
      match = six.moves.urllib.parse.urlparse('//{}'.format(bind_addr_string))
      try:
          addr = match.hostname
          port = match.port
          if addr is not None or port is not None:
              return TCPSocket(addr, port)
      except ValueError:
          pass
  
      # else, assume a UNIX socket path
      # if the string begins with an @ symbol, use an abstract socket
      if bind_addr_string.startswith('@'):
          return AbstractSocket(bind_addr_string[1:])
      return UnixSocket(path=bind_addr_string)
docs: Convert bind address string to a BindLocation.