
    wg                     j    d dl Z d dlmZ d dlmZ d dlmZmZ d dlm	Z	 d dl
mZ  G d de          ZdS )	    N)HttpRequest)MiddlewareMixin)ErrorLoggerget_error_logger)EnableErrorLogging)get_request_servicec                   8    e Zd Z e            fdedefdZd ZdS )ExceptionLoggingMiddlewarerequestloggerc                 B   t          |          }|j        }d|cxk    rdk     r{n nx|j        j        r|j        nd }t          j                                        }|r|j        nd}|r8 ||j        |	                                |
                                |           |S )Ni  iX  F)message	client_ippathuser)r   status_coder   is_authenticatedr   objectsfirstenable_error_loggingerror_messageget_client_ipbuild_absolute_uri)selfr   responser   request_servicer   r   enable_loggings           ./var/www/html/cms/web/site_tests/middleware.pyprocess_responsez+ExceptionLoggingMiddleware.process_response   s    -g66*+##########*<#@J7<<dD/7==??NDR]^@@X]N #1-;;== 3355	        c                 :    t          j                    }||_        d S )N)	traceback
format_excr   )r   r   	exceptionr   s       r   process_exceptionz,ExceptionLoggingMiddleware.process_exception    s    !,.. -r    N)__name__
__module____qualname__r   r   r   r   r%    r    r   r
   r
      sV        UeUeUgUg   {    (. . . . .r    r
   )r"   django.httpr   django.utils.deprecationr   infrastructure.logging.errorsr   r   ,infrastructure.persistence.models.site_testsr   infrastructure.requests.servicer   r
   r)   r    r   <module>r/      s        # # # # # # 4 4 4 4 4 4 G G G G G G G G K K K K K K ? ? ? ? ? ?. . . . . . . . . .r    