mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import re
 | 
						|
from typing import Any, Dict, Optional
 | 
						|
 | 
						|
from django.http import HttpRequest
 | 
						|
from django.views.debug import SafeExceptionReporterFilter
 | 
						|
 | 
						|
 | 
						|
class ZulipExceptionReporterFilter(SafeExceptionReporterFilter):
 | 
						|
    def get_post_parameters(self, request: Optional[HttpRequest]) -> Dict[str, Any]:
 | 
						|
        post_data = SafeExceptionReporterFilter.get_post_parameters(self, request)
 | 
						|
        assert isinstance(post_data, dict)
 | 
						|
        filtered_post = post_data.copy()
 | 
						|
        filtered_vars = [
 | 
						|
            "content",
 | 
						|
            "secret",
 | 
						|
            "password",
 | 
						|
            "key",
 | 
						|
            "api-key",
 | 
						|
            "subject",
 | 
						|
            "stream",
 | 
						|
            "subscriptions",
 | 
						|
            "to",
 | 
						|
            "csrfmiddlewaretoken",
 | 
						|
            "api_key",
 | 
						|
            "realm_counts",
 | 
						|
            "installation_counts",
 | 
						|
        ]
 | 
						|
 | 
						|
        for var in filtered_vars:
 | 
						|
            if var in filtered_post:
 | 
						|
                filtered_post[var] = "**********"
 | 
						|
        return filtered_post
 | 
						|
 | 
						|
 | 
						|
def clean_data_from_query_parameters(val: str) -> str:
 | 
						|
    return re.sub(r"([a-z_-]+=)([^&]+)([&]|$)", r"\1******\3", val)
 |