Compose full url for given `tree`, with protocol, server's address and
    port.

    Args:
        tree (obj): :class:`.Tree` instance.
        issn_url (bool, default False): Compose URL using ISSN.

    Returns:
        str: URL of the tree

def compose_tree_url(tree, issn_url=False):
    """
    Compose full url for given `tree`, with protocol, server's address and
    port.

    Args:
        tree (obj): :class:`.Tree` instance.
        issn_url (bool, default False): Compose URL using ISSN.

    Returns:
        str: URL of the tree
    """
    url = compose_tree_path(tree, issn_url)

    if WEB_PORT == 80:
        return "%s://%s%s" % (_PROTOCOL, WEB_ADDR, url)

    return "%s://%s:%d%s" % (_PROTOCOL, WEB_ADDR, WEB_PORT, url)