kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
36 wiersze
959 B
Python
36 wiersze
959 B
Python
from django.conf import settings
|
|
|
|
|
|
def full_url(path):
|
|
"""
|
|
Given a relative path, return a full url usable for federation purpose
|
|
"""
|
|
root = settings.FUNKWHALE_URL
|
|
if path.startswith('/') and root.endswith('/'):
|
|
return root + path[1:]
|
|
elif not path.startswith('/') and not root.endswith('/'):
|
|
return root + '/' + path
|
|
else:
|
|
return root + path
|
|
|
|
|
|
def clean_wsgi_headers(raw_headers):
|
|
"""
|
|
Convert WSGI headers from CONTENT_TYPE to Content-Type notation
|
|
"""
|
|
cleaned = {}
|
|
non_prefixed = [
|
|
'content_type',
|
|
'content_length',
|
|
]
|
|
for raw_header, value in raw_headers.items():
|
|
h = raw_header.lower()
|
|
if not h.startswith('http_') and h not in non_prefixed:
|
|
continue
|
|
|
|
words = h.replace('http_', '', 1).split('_')
|
|
cleaned_header = '-'.join([w.capitalize() for w in words])
|
|
cleaned[cleaned_header] = value
|
|
|
|
return cleaned
|