[utils] Process bytestrings in urljoin (closes #12369)
This commit is contained in:
		@@ -1748,11 +1748,16 @@ def base_url(url):
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def urljoin(base, path):
 | 
			
		||||
    if isinstance(path, bytes):
 | 
			
		||||
        path = path.decode('utf-8')
 | 
			
		||||
    if not isinstance(path, compat_str) or not path:
 | 
			
		||||
        return None
 | 
			
		||||
    if re.match(r'^(?:https?:)?//', path):
 | 
			
		||||
        return path
 | 
			
		||||
    if not isinstance(base, compat_str) or not re.match(r'^(?:https?:)?//', base):
 | 
			
		||||
    if isinstance(base, bytes):
 | 
			
		||||
        base = base.decode('utf-8')
 | 
			
		||||
    if not isinstance(base, compat_str) or not re.match(
 | 
			
		||||
            r'^(?:https?:)?//', base):
 | 
			
		||||
        return None
 | 
			
		||||
    return compat_urlparse.urljoin(base, path)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user