mirror of https://gitlab.com/bashrc2/epicyon
Move function out of daemon
parent
8e60206182
commit
7cf4871eec
380
daemon.py
380
daemon.py
|
@ -300,6 +300,7 @@ from languages import set_actor_languages
|
||||||
from languages import get_understood_languages
|
from languages import get_understood_languages
|
||||||
from like import update_likes_collection
|
from like import update_likes_collection
|
||||||
from reaction import update_reaction_collection
|
from reaction import update_reaction_collection
|
||||||
|
from utils import get_instance_url
|
||||||
from utils import convert_domains
|
from utils import convert_domains
|
||||||
from utils import post_summary_contains_links
|
from utils import post_summary_contains_links
|
||||||
from utils import resembles_url
|
from utils import resembles_url
|
||||||
|
@ -535,20 +536,6 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _get_instance_url(self, calling_domain: str) -> str:
|
|
||||||
"""Returns the URL for this instance
|
|
||||||
"""
|
|
||||||
if calling_domain.endswith('.onion') and \
|
|
||||||
self.server.onion_domain:
|
|
||||||
instance_url = 'http://' + self.server.onion_domain
|
|
||||||
elif (calling_domain.endswith('.i2p') and
|
|
||||||
self.server.i2p_domain):
|
|
||||||
instance_url = 'http://' + self.server.i2p_domain
|
|
||||||
else:
|
|
||||||
instance_url = \
|
|
||||||
self.server.http_prefix + '://' + self.server.domain_full
|
|
||||||
return instance_url
|
|
||||||
|
|
||||||
def handle_error(self, request, client_address):
|
def handle_error(self, request, client_address):
|
||||||
"""HTTP server error handling
|
"""HTTP server error handling
|
||||||
"""
|
"""
|
||||||
|
@ -826,7 +813,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
nickname = nickname.split('#/publicKey')[0]
|
nickname = nickname.split('#/publicKey')[0]
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
actor = self._get_instance_url(calling_domain) + '/users/' + nickname
|
|
||||||
|
actor = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/users/' + nickname
|
||||||
actor_json = get_person_from_cache(base_dir, actor, person_cache)
|
actor_json = get_person_from_cache(base_dir, actor, person_cache)
|
||||||
if not actor_json:
|
if not actor_json:
|
||||||
actor_filename = acct_dir(base_dir, nickname, domain) + '.json'
|
actor_filename = acct_dir(base_dir, nickname, domain) + '.json'
|
||||||
|
@ -841,7 +835,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
not actor_json.get('assertionMethod'):
|
not actor_json.get('assertionMethod'):
|
||||||
return None
|
return None
|
||||||
original_person_url = \
|
original_person_url = \
|
||||||
self._get_instance_url(calling_domain) + path
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
path
|
||||||
pub_key, _ = \
|
pub_key, _ = \
|
||||||
get_actor_public_key_from_id(actor_json, original_person_url)
|
get_actor_public_key_from_id(actor_json, original_person_url)
|
||||||
return pub_key
|
return pub_key
|
||||||
|
@ -879,7 +878,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
|
|
||||||
def _logout_redirect(self, redirect: str, calling_domain: str) -> None:
|
def _logout_redirect(self, redirect: str, calling_domain: str) -> None:
|
||||||
if '://' not in redirect:
|
if '://' not in redirect:
|
||||||
redirect = self._get_instance_url(calling_domain) + redirect
|
redirect = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
redirect
|
||||||
print('WARN: redirect was not an absolute url, changed to ' +
|
print('WARN: redirect was not an absolute url, changed to ' +
|
||||||
redirect)
|
redirect)
|
||||||
|
|
||||||
|
@ -1003,7 +1007,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
calling_domain: str,
|
calling_domain: str,
|
||||||
code: int = 303) -> None:
|
code: int = 303) -> None:
|
||||||
if '://' not in redirect:
|
if '://' not in redirect:
|
||||||
redirect = self._get_instance_url(calling_domain) + redirect
|
redirect = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
redirect
|
||||||
print('WARN: redirect was not an absolute url, changed to ' +
|
print('WARN: redirect was not an absolute url, changed to ' +
|
||||||
redirect)
|
redirect)
|
||||||
|
|
||||||
|
@ -1615,7 +1624,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if broch_mode:
|
if broch_mode:
|
||||||
show_node_info_accounts = False
|
show_node_info_accounts = False
|
||||||
|
|
||||||
instance_url = self._get_instance_url(calling_domain)
|
instance_url = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain)
|
||||||
about_url = instance_url + '/about'
|
about_url = instance_url + '/about'
|
||||||
terms_of_service_url = instance_url + '/terms'
|
terms_of_service_url = instance_url + '/terms'
|
||||||
info = meta_data_node_info(self.server.base_dir,
|
info = meta_data_node_info(self.server.base_dir,
|
||||||
|
@ -2417,7 +2430,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if not valid_password(login_password):
|
if not valid_password(login_password):
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
login_url = \
|
login_url = \
|
||||||
self._get_instance_url(calling_domain) + '/login'
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/login'
|
||||||
self._redirect_headers(login_url, cookie, calling_domain)
|
self._redirect_headers(login_url, cookie, calling_domain)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -2426,7 +2444,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.manual_follower_approval):
|
self.server.manual_follower_approval):
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
login_url = \
|
login_url = \
|
||||||
self._get_instance_url(calling_domain) + '/login'
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/login'
|
||||||
self._redirect_headers(login_url, cookie, calling_domain)
|
self._redirect_headers(login_url, cookie, calling_domain)
|
||||||
return
|
return
|
||||||
auth_header = \
|
auth_header = \
|
||||||
|
@ -2517,8 +2540,14 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.tokens_lookup[index] = login_nickname
|
self.server.tokens_lookup[index] = login_nickname
|
||||||
cookie_str = 'SET:epicyon=' + \
|
cookie_str = 'SET:epicyon=' + \
|
||||||
self.server.tokens[login_nickname] + '; SameSite=Strict'
|
self.server.tokens[login_nickname] + '; SameSite=Strict'
|
||||||
tl_url = self._get_instance_url(calling_domain) + '/users/' + \
|
tl_url = \
|
||||||
login_nickname + '/' + self.server.default_timeline
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/users/' + login_nickname + '/' + \
|
||||||
|
self.server.default_timeline
|
||||||
self._redirect_headers(tl_url, cookie_str, calling_domain)
|
self._redirect_headers(tl_url, cookie_str, calling_domain)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
return
|
return
|
||||||
|
@ -2559,7 +2588,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/moderationaction', '')
|
users_path = path.replace('/moderationaction', '')
|
||||||
nickname = users_path.replace('/users/', '')
|
nickname = users_path.replace('/users/', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
if not is_moderator(self.server.base_dir, nickname):
|
if not is_moderator(self.server.base_dir, nickname):
|
||||||
self._redirect_headers(actor_str + '/moderation',
|
self._redirect_headers(actor_str + '/moderation',
|
||||||
cookie, calling_domain)
|
cookie, calling_domain)
|
||||||
|
@ -4550,7 +4585,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
path = path.split('?page=')[0]
|
path = path.split('?page=')[0]
|
||||||
|
|
||||||
users_path = path.replace('/searchhandle', '')
|
users_path = path.replace('/searchhandle', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
length = int(self.headers['Content-length'])
|
length = int(self.headers['Content-length'])
|
||||||
try:
|
try:
|
||||||
search_params = self.rfile.read(length).decode('utf-8')
|
search_params = self.rfile.read(length).decode('utf-8')
|
||||||
|
@ -4851,7 +4892,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
search_str.endswith(';') or \
|
search_str.endswith(';') or \
|
||||||
search_str.endswith('.'):
|
search_str.endswith('.'):
|
||||||
actor_str = \
|
actor_str = \
|
||||||
self._get_instance_url(calling_domain) + users_path
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
self._redirect_headers(actor_str + '/search',
|
self._redirect_headers(actor_str + '/search',
|
||||||
cookie, calling_domain)
|
cookie, calling_domain)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
|
@ -5032,7 +5078,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
return
|
return
|
||||||
actor_str = \
|
actor_str = \
|
||||||
self._get_instance_url(calling_domain) + users_path
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
self._redirect_headers(actor_str + '/search',
|
self._redirect_headers(actor_str + '/search',
|
||||||
cookie, calling_domain)
|
cookie, calling_domain)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
|
@ -5109,7 +5160,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
return
|
return
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
self._redirect_headers(actor_str + '/' +
|
self._redirect_headers(actor_str + '/' +
|
||||||
self.server.default_timeline,
|
self.server.default_timeline,
|
||||||
cookie, calling_domain)
|
cookie, calling_domain)
|
||||||
|
@ -5379,7 +5436,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# https://codeberg.org/fediverse/fep/
|
# https://codeberg.org/fediverse/fep/
|
||||||
# src/branch/main/fep/0837/fep-0837.md
|
# src/branch/main/fep/0837/fep-0837.md
|
||||||
actor = \
|
actor = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + share_nickname
|
'/users/' + share_nickname
|
||||||
person_cache = self.server.person_cache
|
person_cache = self.server.person_cache
|
||||||
actor_json = get_person_from_cache(base_dir,
|
actor_json = get_person_from_cache(base_dir,
|
||||||
|
@ -5626,7 +5687,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/linksdata', '')
|
users_path = path.replace('/linksdata', '')
|
||||||
users_path = users_path.replace('/editlinks', '')
|
users_path = users_path.replace('/editlinks', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
|
|
||||||
boundary = None
|
boundary = None
|
||||||
if ' boundary=' in self.headers['Content-type']:
|
if ' boundary=' in self.headers['Content-type']:
|
||||||
|
@ -5813,7 +5880,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._404()
|
self._404()
|
||||||
return
|
return
|
||||||
users_path = users_path.split('/tags/')[0]
|
users_path = users_path.split('/tags/')[0]
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
tag_screen_str = actor_str + '/tags/' + hashtag
|
tag_screen_str = actor_str + '/tags/' + hashtag
|
||||||
|
|
||||||
boundary = None
|
boundary = None
|
||||||
|
@ -5905,7 +5978,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/newswiredata', '')
|
users_path = path.replace('/newswiredata', '')
|
||||||
users_path = users_path.replace('/editnewswire', '')
|
users_path = users_path.replace('/editnewswire', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
|
|
||||||
boundary = None
|
boundary = None
|
||||||
if ' boundary=' in self.headers['Content-type']:
|
if ' boundary=' in self.headers['Content-type']:
|
||||||
|
@ -6092,7 +6171,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
update button on the citations screen
|
update button on the citations screen
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/citationsdata', '')
|
users_path = path.replace('/citationsdata', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
if not nickname:
|
if not nickname:
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
|
@ -6182,7 +6267,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/newseditdata', '')
|
users_path = path.replace('/newseditdata', '')
|
||||||
users_path = users_path.replace('/editnewspost', '')
|
users_path = users_path.replace('/editnewspost', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
|
|
||||||
boundary = None
|
boundary = None
|
||||||
if ' boundary=' in self.headers['Content-type']:
|
if ' boundary=' in self.headers['Content-type']:
|
||||||
|
@ -6330,7 +6421,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""
|
"""
|
||||||
users_path = path.replace('/profiledata', '')
|
users_path = path.replace('/profiledata', '')
|
||||||
users_path = users_path.replace('/editprofile', '')
|
users_path = users_path.replace('/editprofile', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
users_path
|
||||||
|
|
||||||
boundary = None
|
boundary = None
|
||||||
if ' boundary=' in self.headers['Content-type']:
|
if ' boundary=' in self.headers['Content-type']:
|
||||||
|
@ -9233,7 +9330,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return
|
return
|
||||||
|
|
||||||
origin_path_str_absolute = \
|
origin_path_str_absolute = \
|
||||||
self._get_instance_url(calling_domain) + origin_path_str
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
origin_path_str
|
||||||
self._redirect_headers(origin_path_str_absolute, cookie,
|
self._redirect_headers(origin_path_str_absolute, cookie,
|
||||||
calling_domain)
|
calling_domain)
|
||||||
|
|
||||||
|
@ -9930,7 +10032,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number)
|
'?page=' + str(page_number)
|
||||||
|
@ -10072,7 +10180,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.auto_cw_cache)
|
self.server.auto_cw_cache)
|
||||||
|
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -10133,7 +10245,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + '?page=' + \
|
actor_absolute + '/' + timeline_str + '?page=' + \
|
||||||
str(page_number)
|
str(page_number)
|
||||||
|
@ -10200,7 +10318,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
curr_session, proxy_type)
|
curr_session, proxy_type)
|
||||||
|
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -10505,7 +10627,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -10660,7 +10788,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
like_url)
|
like_url)
|
||||||
|
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -10721,7 +10853,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number)
|
'?page=' + str(page_number)
|
||||||
|
@ -10864,7 +11002,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if self.server.iconsCache.get('like_inactive.png'):
|
if self.server.iconsCache.get('like_inactive.png'):
|
||||||
del self.server.iconsCache['like_inactive.png']
|
del self.server.iconsCache['like_inactive.png']
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -10931,7 +11073,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
emoji_content_encoded = emoji_content_encoded.split('?')[0]
|
emoji_content_encoded = emoji_content_encoded.split('?')[0]
|
||||||
if not emoji_content_encoded:
|
if not emoji_content_encoded:
|
||||||
print('WARN: no emoji reaction ' + actor)
|
print('WARN: no emoji reaction ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -10942,7 +11090,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -11103,7 +11257,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
reaction_url)
|
reaction_url)
|
||||||
|
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -11164,7 +11322,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number)
|
'?page=' + str(page_number)
|
||||||
|
@ -11178,7 +11342,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
emoji_content_encoded = emoji_content_encoded.split('?')[0]
|
emoji_content_encoded = emoji_content_encoded.split('?')[0]
|
||||||
if not emoji_content_encoded:
|
if not emoji_content_encoded:
|
||||||
print('WARN: no emoji reaction ' + actor)
|
print('WARN: no emoji reaction ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -11327,7 +11497,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
reaction_post_filename)
|
reaction_post_filename)
|
||||||
|
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -11375,7 +11549,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -11390,7 +11570,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
post_json_object = load_json(reaction_post_filename)
|
post_json_object = load_json(reaction_post_filename)
|
||||||
if not reaction_post_filename or not post_json_object:
|
if not reaction_post_filename or not post_json_object:
|
||||||
print('WARN: unable to locate reaction post ' + reaction_url)
|
print('WARN: unable to locate reaction post ' + reaction_url)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number) + timeline_bookmark
|
'?page=' + str(page_number) + timeline_bookmark
|
||||||
|
@ -11494,7 +11680,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number)
|
'?page=' + str(page_number)
|
||||||
|
@ -11602,7 +11794,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# self.server.project_version, None,
|
# self.server.project_version, None,
|
||||||
# curr_session, proxy_type)
|
# curr_session, proxy_type)
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -11663,7 +11859,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.post_to_nickname = get_nickname_from_actor(actor)
|
self.post_to_nickname = get_nickname_from_actor(actor)
|
||||||
if not self.post_to_nickname:
|
if not self.post_to_nickname:
|
||||||
print('WARN: unable to find nickname in ' + actor)
|
print('WARN: unable to find nickname in ' + actor)
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
actor_absolute + '/' + timeline_str + \
|
actor_absolute + '/' + timeline_str + \
|
||||||
'?page=' + str(page_number)
|
'?page=' + str(page_number)
|
||||||
|
@ -11772,7 +11974,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
print('WARN: Unbookmarked post not found: ' +
|
print('WARN: Unbookmarked post not found: ' +
|
||||||
bookmark_filename)
|
bookmark_filename)
|
||||||
actor_absolute = \
|
actor_absolute = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + self.post_to_nickname
|
'/users/' + self.post_to_nickname
|
||||||
|
|
||||||
actor_path_str = \
|
actor_path_str = \
|
||||||
|
@ -12737,7 +12943,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._404()
|
self._404()
|
||||||
return True
|
return True
|
||||||
actor = path.replace('/skills', '')
|
actor = path.replace('/skills', '')
|
||||||
actor_absolute = self._get_instance_url(calling_domain) + actor
|
actor_absolute = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
actor
|
||||||
self._redirect_headers(actor_absolute, cookie, calling_domain)
|
self._redirect_headers(actor_absolute, cookie, calling_domain)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@ -12756,7 +12968,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
post_id = path.split('?convthread=')[1].strip()
|
post_id = path.split('?convthread=')[1].strip()
|
||||||
post_id = post_id.replace('--', '/')
|
post_id = post_id.replace('--', '/')
|
||||||
if post_id.startswith('/users/'):
|
if post_id.startswith('/users/'):
|
||||||
instance_url = self._get_instance_url(calling_domain)
|
instance_url = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain)
|
||||||
post_id = instance_url + post_id
|
post_id = instance_url + post_id
|
||||||
nickname = path.split('/users/')[1]
|
nickname = path.split('/users/')[1]
|
||||||
if '?convthread=' in nickname:
|
if '?convthread=' in nickname:
|
||||||
|
@ -16309,7 +16525,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._404()
|
self._404()
|
||||||
return False
|
return False
|
||||||
accept_str = self.headers['Accept']
|
accept_str = self.headers['Accept']
|
||||||
actor_domain_url = self._get_instance_url(calling_domain)
|
actor_domain_url = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain)
|
||||||
actor_url = actor_domain_url + '/users/Actor'
|
actor_url = actor_domain_url + '/users/Actor'
|
||||||
remove_fields = (
|
remove_fields = (
|
||||||
'icon', 'image', 'tts', 'shares',
|
'icon', 'image', 'tts', 'shares',
|
||||||
|
@ -16472,7 +16692,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
str(divert_to_login_screen))
|
str(divert_to_login_screen))
|
||||||
print('DEBUG: authorized=' + str(authorized))
|
print('DEBUG: authorized=' + str(authorized))
|
||||||
print('DEBUG: path=' + path)
|
print('DEBUG: path=' + path)
|
||||||
redirect_url = self._get_instance_url(calling_domain) + divert_path
|
redirect_url = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
divert_path
|
||||||
self._redirect_headers(redirect_url, None, calling_domain)
|
self._redirect_headers(redirect_url, None, calling_domain)
|
||||||
fitness_performance(getreq_start_time,
|
fitness_performance(getreq_start_time,
|
||||||
self.server.fitness,
|
self.server.fitness,
|
||||||
|
@ -17553,7 +17779,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self._write(msg)
|
self._write(msg)
|
||||||
else:
|
else:
|
||||||
news_url = \
|
news_url = \
|
||||||
self._get_instance_url(calling_domain) + '/users/news'
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/users/news'
|
||||||
self._logout_redirect(news_url, calling_domain)
|
self._logout_redirect(news_url, calling_domain)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
'_GET', 'logout',
|
'_GET', 'logout',
|
||||||
|
@ -17716,7 +17947,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return
|
return
|
||||||
# get the actor from the cache
|
# get the actor from the cache
|
||||||
actor = \
|
actor = \
|
||||||
self._get_instance_url(calling_domain) + '/users/' + nickname
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/users/' + nickname
|
||||||
actor_json = get_person_from_cache(self.server.base_dir, actor,
|
actor_json = get_person_from_cache(self.server.base_dir, actor,
|
||||||
self.server.person_cache)
|
self.server.person_cache)
|
||||||
if not actor_json:
|
if not actor_json:
|
||||||
|
@ -19715,7 +19951,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if self.path == '/' and \
|
if self.path == '/' and \
|
||||||
not authorized and \
|
not authorized and \
|
||||||
self.server.news_instance:
|
self.server.news_instance:
|
||||||
news_url = self._get_instance_url(calling_domain) + '/users/news'
|
news_url = get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
|
'/users/news'
|
||||||
self._logout_redirect(news_url, calling_domain)
|
self._logout_redirect(news_url, calling_domain)
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
'_GET', 'news front page shown',
|
'_GET', 'news front page shown',
|
||||||
|
@ -19885,7 +20126,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if os.path.isfile(tags_filename):
|
if os.path.isfile(tags_filename):
|
||||||
# redirect to the local hashtag screen
|
# redirect to the local hashtag screen
|
||||||
self.server.getreq_busy = False
|
self.server.getreq_busy = False
|
||||||
ht_url = self._get_instance_url(calling_domain) + \
|
ht_url = \
|
||||||
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + nickname + '/tags/' + hashtag
|
'/users/' + nickname + '/tags/' + hashtag
|
||||||
self._redirect_headers(ht_url, cookie, calling_domain)
|
self._redirect_headers(ht_url, cookie, calling_domain)
|
||||||
else:
|
else:
|
||||||
|
@ -23175,7 +23421,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# add shareOnProfile items to the actor attachments
|
# add shareOnProfile items to the actor attachments
|
||||||
# https://codeberg.org/fediverse/fep/src/branch/main/fep/0837/fep-0837.md
|
# https://codeberg.org/fediverse/fep/src/branch/main/fep/0837/fep-0837.md
|
||||||
actor = \
|
actor = \
|
||||||
self._get_instance_url(calling_domain) + \
|
get_instance_url(calling_domain,
|
||||||
|
self.server.http_prefix,
|
||||||
|
self.server.domain_full,
|
||||||
|
self.server.onion_domain,
|
||||||
|
self.server.i2p_domain) + \
|
||||||
'/users/' + nickname
|
'/users/' + nickname
|
||||||
person_cache = self.server.person_cache
|
person_cache = self.server.person_cache
|
||||||
actor_json = get_person_from_cache(self.server.base_dir,
|
actor_json = get_person_from_cache(self.server.base_dir,
|
||||||
|
|
19
utils.py
19
utils.py
|
@ -5014,3 +5014,22 @@ def convert_domains(calling_domain: str, referer_domain: str,
|
||||||
'http://' +
|
'http://' +
|
||||||
i2p_domain)
|
i2p_domain)
|
||||||
return msg_str
|
return msg_str
|
||||||
|
|
||||||
|
|
||||||
|
def get_instance_url(calling_domain: str,
|
||||||
|
http_prefix: str,
|
||||||
|
domain_full: str,
|
||||||
|
onion_domain: str,
|
||||||
|
i2p_domain: str) -> str:
|
||||||
|
"""Returns the URL for this instance
|
||||||
|
"""
|
||||||
|
if calling_domain.endswith('.onion') and \
|
||||||
|
onion_domain:
|
||||||
|
instance_url = 'http://' + onion_domain
|
||||||
|
elif (calling_domain.endswith('.i2p') and
|
||||||
|
i2p_domain):
|
||||||
|
instance_url = 'http://' + i2p_domain
|
||||||
|
else:
|
||||||
|
instance_url = \
|
||||||
|
http_prefix + '://' + domain_full
|
||||||
|
return instance_url
|
||||||
|
|
Loading…
Reference in New Issue