code: def compose_full_url(pub, uuid_url=False):
      
      url = compose_path(pub, uuid_url)
  
      if WEB_PORT == 80:
          return "%s://%s%s" % (_PROTOCOL, WEB_ADDR, url)
  
      return "%s://%s:%d%s" % (_PROTOCOL, WEB_ADDR, WEB_PORT, url)
docs: Compose full url for given `pub`, with protocol, server's address and port.
  
      Args:
          pub (obj): :class:`.DBPublication` instance.
          uuid_url (bool, default False): Compose URL using UUID.
  
      Returns:
          str: Absolute url of the publication.
      Raises:
          PrivatePublicationError: When the `pub` is private publication.