Skip to content
Snippets Groups Projects
utils.py 959 B
Newer Older
  • Learn to ignore specific revisions
  • 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